snapperbay4453.github.io

유틸리티 타입

TypeScript는 공통 타입 변환을 용이하게 하기 위해 몇 가지 유틸리티 타입을 제공합니다.

자주 사용하는 유틸리티 타입

Partial<TYPE>

TYPE의 모든 프로퍼티를 선택적으로 변경한 타입(subset)을 반환합니다. 모든 프로퍼티는 optional로 취급되며, 모든 프로퍼티를 갖지 않는 빈 객체도 허용됩니다.

Required<TYPE>

TYPE의 모든 프로퍼티를 필수 입력으로 변경한 타입을 반환합니다. 하나의 프로퍼티라도 누락되면 에러가 발생합니다.

Readonly<TYPE>

TYPE의 모든 프로퍼티를 읽기 전용으로 변경한 타입(readonly)을 반환합니다.

Record<KEY, TYPE>

KEY를 속성으로, TYPE를 그 속성값의 타입으로 지정하는 새로운 타입을 반환합니다.

Pick<TYPE, KEY>

TYPE에서 KEY로 속성을 선택한 새로운 타입을 반환합니다.

Omit<TYPE, KEY>

TYPE에서 KEY로 속성을 생략하고 나머지를 선택한 새로운 타입을 반환합니다.

NonNullable<TYPE>

T 타입에서 Nullable한 타입인 null 및 undefined를 제외한 타입을 반환합니다.

Extract<T, U>

T 타입에서 U 타입과 공통되는 모든 프로퍼티를 타입으로 추출하여 반환합니다. (T > U일 때, T ∩ U)

Exclude<T, U>

T 타입에서 U 타입과 공통되는 프로퍼티를 제외한 나머지 프로퍼티를 타입으로 추출하여 반환합니다. (T - U)

Awaited<TYPE>

Promise<?> 형태의 TYPE을 전달받아 해당 Promise가 반환하는 리턴값의 타입을 반환합니다. await 키워드와 유사한 기능을 담당합니다.

더 많은 유틸리티 타입은 typescript-kr.github.io를 참조하세요.

참조