interface Person {
age: number;
name: string;
}
type PersonKeys = keyof Person; //"age" | "name" 타입됩니다
let a :PersonKeys = 'age'; //가능
let b :PersonKeys = 'ageeee'; //불가능
keyof 뒤의 변수 안에 존재하는 key 자체를 union type으로 받아옴
type Car = {
color: boolean,
model : boolean,
price : boolean | number,
};
type TypeChanger <MyType> = {
[key in keyof MyType]: string;
};
'[key in keyof MyType]: string'이 핵심!