유틸리티 타입(untility type) 이란?

유틸리티 타입(untility type)은 이미 정의된 타입 구조를 변경하여 재사용 하기위해 사용하는 타입입니다.

유틸리티 타입 적용법

유틸리티 타입은 타입스크립트 내장 타입이므로 타입스크립트를 설치한 후 타입스크립트 설정 파일 tsconfig.json에서 lib 속성만 변경해주면 됩니다.

{
  "compilerOptions" : {
    "lib": ["ESNext"]
  }
}

대표적인 유틸리티 타입

1 ) Pick

Pick 유틸리티 타입은 특정 타입 속성을 뽑아서 새로운 타입을 만들어 낼 때 사용합니다.

Pick<대상 타입, "대상 속성"> 형식으로 사용합니다.

Pick<대상 타입, "대상 속성1" | "대상 속석2"> 혹은 Pick<대상 타입, "대상 속성1","대상 속성2">

속성은 여러개가 올 수 있으면 유니언 타입( | ) 형태로 적거나 콤마( , ) 적어 속성을 여러개 적을 수 있습니다.

interface Data {
  id: string;
  title: string;
  content: string;
}

type IdAndTitle = Pick<Data, "id" | "title">;
/**
type IdAndTitle = {
  id: string;
  title: string;
}
**/

2 ) Omit

Omit 유틸리티 타입은 특정 타입 속성을 제외 시켜 새로운 타입을 만들어 낼 때 사용합니다.

사용 문법은 Pick 타입과 같습니다.