typeof A
→ A(변수/함수등)의 type을 반환
let str = "hello"
let str2: typeof str = "hi"
// === let str2: string ="hi"
keyof A
→ A의 모든 프로퍼티의 키값을 union 형태로 반환
interface Todo {
id: number
text: string
}
type Keys = keyof Todo
// === type Keys = 'id' | 'text'
let a: Keys = 'id'
a = 'text'
a = 'ids' // 🚨ERROR!
a = 'id' | 'text' // 🚨ERROR!
기존 타입을 새로운 타입으로 변환
type Test = 'A' | 'B' | 'C'
type MappedTest = {
[key in Test] : number;
}
const data:MappedTest = { A:1, B:2, C:3 }
const data1:MappedTest = { A:1, B:2 } // 🚨ERROR!
https://itchallenger.tistory.com/170
https://medium.com/harrythegreat/typescript-유틸리티-클래스-파헤치기-7ae8a786fb20