: 타입 2개 이상 합쳐진 새로운 타입 만들기
let members : number | string = 123;
let members :number[] = [1,2,3];
let members :
(number | string)[] = [1, '2', 3];
: number | string[]
숫자가 들어올 수 있고 혹은 문자열이 들어올 수 도 있다.
let object : {
a : string
}={
a : '123'
}
let object : {
a : string | number
}={
a : 123
}
: 모든 자료형을 허용 (타입으로 접근하기보다 타입 실드 해제 문법이라고 생각하기)
let members : any;
: 모든 자료형을 허용 (any type 보다 안전)
let members : unknown;
string 타입 +1 [가능]
number 타입 +1 [가능]
string | number 타입 +1 [불가능]
// 불가능 (타입스크립트는 엄격한것을 좋아한다.)
// 숫자 타입이 아니라면 허락해 주지 않는다.
let age : unknown = 1;
age - 1 ;
(1) 변수 4개에 타입을 지정하기
: age 변수에는 undefined 말고 숫자도 들어올 수 있다.
let user = 'kim';
let age = undefined;
let married = false;
let 철수 = [user, age, married];
let user = string = 'kim';
let age = undefined | number = undefined;
let married = boolean = false;
let 철수 = (
string|number|undefined|boolean
)[]=[user, age, married];
(2) 학교라는 변수에 타입 지정하기
let 학교 = {
score : [100, 97, 84],
teacher : 'Phil',
friend : 'John'
}
학교.score[4] = false;
학교.friend = ['Lee' , 학교.teacher]
let 학교 : {
score : (number|boolean)[],
teacher : string,
friend : string | string[]
}={
score : [100, 97, 84],
teacher : 'Phil',
friend : 'John'
}
학교.score[4] = false;
학교.friend = ['Lee' , 학교.teacher]