Utility Types

앞서 배웠던 것들을 사용하여 재 사용 가능한 utility type 을 만들 수 있습니다. 직접 만들어 사용하는 것 도 좋지만, 자주 사용하는 것 들에 대해 typescript 는 내장 utility type 들을 제공해 줍니다.

이 섹션에서는 자주 사용하는 utility type 을 소개합니다.

Awaited<Type>

Released: 4.5

Promise 로 감싸져 있는 타입을 추출합니다.

Example

type A = Awaited<Promise<string>>;    
// type A = string 
type B = Awaited<Promise<Promise<number>>>;    
//type B = number 
type C = Awaited<boolean | Promise<number>>;    
//type C = number | boolean

Partial<Type>

Released: 2.1

객체의 모든 속성이 optional 한 타입을 구성합니다.

Example

Required<Type>

Released: 2.8

Partial 과 반대로 모든 속성이 required 한 타입을 구성합니다.

Example

Record<Keys, Type>

Released: 2.1

객체의 key 는 Keys value 는 Type 인 객체를 구성합니다.

Example

Pick<Type, Keys>

Example

Type 으로부터 Keys (property = string 또는 string 유니온) 로 선택된 객체를 구성합니다.

Released: 2.1

Omit<Type, Keys>

Released: 3.5

Pick 과 반대로Type 으로부터 Keys (property or property 유니온) 가 제외된 객체를 구성합니다

Example

Exclude<UnionType, ExcludedMembers>

Released: 2.8

UnionType 으로 부터 ExcludedMembers 에 할당 가능한 모든 union 을 제외함으로써 구성 합니다.

Example

Extract<Type, Union>

Released: 2.8

Type 으로부터 Union 에 할당 가능한 모든 유니온 맴버를 추출하여 구성합니다.

Example

NonNullable<Type>

Released: 2.8

Type 으로 부터 nullundefined 를 제외하여 타입을 구성합니다.

xample

Parameters<Type>

Released: 3.1

Type 에 넘겨진 함수의 매개변수에 사용된 type 으로부터 tuple 타입을 추출해서 사용합니다.

Example

ReturnType<Type>

Released: 2.8

함수 Type 의 반환 타입으로 구성합니다.

Example

Last updated