제네릭 유틸리티 타입(Generic Utility Types)
타입 조작과 변환을 유연하게 할 수 있도록 타입스크립트에서 제공하는 유틸리티 타입이다.
Record<K,T>
Record는 타입스크립트에서 사용되는 제네릭 유틸리티 타입 중의 하나이다.
기본적으로 Record<K, T>와 같은 형태로 사용되며, 객체의 속성들을 정의할 때 사용한다.
Partial<T>
T의 모든 속성을 선택적으로 만들어주는 타입으로, T 타입의 각 속성이 선택적으로 처리된다.
아래의 코드를 보면 단순히 User 타입으로 한 user의 경우 name과 email 속성이 정의되지 않아 에러가 발생하고 있지만, Partial<User>타입의 partialUser의 경우 User 타입의 모든 속성이 선택적이 되어 name과 email이 정의되어 있지 않아도 에러가 발생하지 않는다.
Required<T>
Partial<T>와 반대로 T의 모든 속성을 필수적으로 만들어주는 타입이다.
아래의 코드를 보면 Required<User> 타입으로 한 경우 name과 email 모든 속성이 정의되지 않으면 에러가 발생하는 것을 확인할 수 있다.
Pick<T, K>
Pick<T,K>의 경우 T 타입에서 K 속성만을 선택하여 새로운 타입을 정의할 수 있게 한다.
아래의 코드를 보면 id, name, email, password, phone, birth의 여러 속성 중에서 로그인에 필요한 email과 passsword 속성만을 가져와 정의하는 것을 확인할 수 있다.
아래의 출처를 통해 이외에 다양한 유틸리티 타입을 확인할 수 있다.
출처 : https://www.typescriptlang.org/docs/handbook/utility-types.html
'Typescript' 카테고리의 다른 글
[ Typescript ] - interface와 type의 차이 (0) | 2023.11.16 |
---|