마법같은 Prettify 타입
No Filled
Prettify Type
타입스크립트 관련 공부를 하다가 굉장히 유용한 유틸리티 타입을 알게 되었다. 🧐
type Prettify<T> = {
[K in keyof T]: T[K]
} & {};상황 1
타입을 확장할 때 Intersection을 활용한다.
type Temp = {
test1: string
test2: number
} & {
test3: boolean
} & {
test4: undefined | null
};
코드를 읽기 어려워서 디버깅하기 불편하다.
Prettify를 사용하면 깔끔하게 정보를 얻을 수 있다.
type Temp = Prettify<{
test1: string
test2: number
} & {
test3: boolean
} & {
test4: undefined | null
}>;
상황 2
extend 키워드로 타입을 확장해서 사용하고자 한다.
interface BaseInfo {
name: string
}
interface AdditionalInfo extends BaseInfo {
nickname: string
}
const jg: AdditionalInfo = {
name: 'lee jonggil',
nickname: 'jgjgill',
}
내부 코드는 알 수 없어서 확인이 필요할 때 직접 코드를 찾아야 한다.
Prettify를 통해 얻고자 하는 정보를 바로 알 수 있다.
const jg: Prettify<AdditionalInfo> = {
name: 'lee jonggil',
nickname: 'jgjgill',
}
이런 마법같은 기능은 다들 어떻게 찾아내는지.. 😇
앞으로 정말 많이 쓸 것 같다..! 😆