//1. Type 반환하기 (type of a : a의 type을 반환)
let name : string = '엄준식';
let name2 : typeof name = 123;
// name2는 string type이기에 오류가 발생하게 됨
//2. Type을 비교하기
function Test( x :number|boolean){
let Array_data : number[] = [];
if(typeof x === 'number') {
Array_data[0] = x;
}
}
//3. object type으로 재활용하기
let dessert_obj = { Sweet:'', salty : '', spicy: ''};
type dessert = typeof dessert_obj;
/*
위에 선언한 것은 아래와 같은 의미
type dessert = {
Sweet: string;
salty: string;
.....
}
let dessert_obj2 : dessert = {
}
... 같은 형식으로도 재활용 가능
*/
2. keyof 연산자
객체 형태의 타입을 따로 속성들만 뽑아 모아 유니온 타입으로 만들어주는 연산자
// keyof A => A key값을 union형태로 반환한다.
type Testobj {
name: string
kind: string
}
//type 사용할이름 = keyof 정의한 이름;
type Keys = keyof Testobj;
let a: Keys = 'name'
a = 'hot' // 정상 작동
a = 123 // string이 아니기 때문에 오류 발생