유틸리티 타입은 타입스크립트가 제공하는 특수한 타입 조합 도구임.제네릭, 맵드 타입, 조건부 타입 등을 조합해 자주 쓰이는 형태의 타입을 미리 구현해둔 것임.대표적인 유틸리티 타입으로는 Readonly<T>, Partial<T> 등이 있음.이번 섹션에서는 이
타입스크립트의 Partial<T>, Required<T>, Readonly<T>는 맵드 타입 기반의 유틸리티 타입으로, 객체 타입의 프로퍼티를 선택적, 필수, 읽기 전용으로 변환함. 이들은 제네릭 + keyof + 맵드 타입의 조합으로 구현할 수 있음.
Pick은 특정 객체 타입에서 일부 프로퍼티만 골라내는 유틸리티 타입임.Omit은 특정 객체 타입에서 일부 프로퍼티만 제외하는 유틸리티 타입임.Record는 키-값 쌍을 가지는 객체 타입을 생성할 때 사용함.
Exclude 타입은 다음과 같이 T로부터 U를 제거하는 타입임.직접 구현하면 다음과 같음.Extract 타입은 다음과 같이 T로부터 U를 추출하는 타입임.직접 구현하면 다음과 같음.ReturnType은 타입변수 T에 할당된 함수 타입의 반환값 타입을 추출하는 타입임.