관리 메뉴

Jerry

[TIL] [타임어택9기][리뉴얼] 타입스크립트 올인원 : Part3. Utility Types- (20) : Omit, Exclude, Extract 타입 분석 본문

Front/Typescript

[TIL] [타임어택9기][리뉴얼] 타입스크립트 올인원 : Part3. Utility Types- (20) : Omit, Exclude, Extract 타입 분석

juicyjerry 2024. 3. 4. 22:21
반응형
Omit, Exclude, Extract 타입 분석

 

 

 

 

 

Omit 직접 만들기

exclude를 먼저 알아야 함, 여러 개의 유틸을 조합해서 사용할 수 있음

interface Profile {
    name: string,
    age: number,
    married: boolean
} 
const zerocho: Profile = {
    name: 'zerocho',
    age: 29,
    married: false,
}

type A = Exclude<keyof Profile, 'married'>

 

 

 

 

 

 

extends key of any가 오는 이유는

아무값이나 오면 안 되니깐;

any일 경우 string | number | symbol만 올 수 있음 (제약조건 추가)

 

즉, S extends keyof any -> S는 string | number | symbol
type O<T, S extends keyof any> = Pick<T, Exclude<keyof T, S>> 
const newZeroCho: O<Profile, 'married'> = {
    name: 'zerocho',
    age: 29,
}

 

 

 

 

 

 

반응형