Utility types

TypeScript 유틸리티 타입 선택

원본 타입을 그대로 복사하지 말고 API 목적에 맞게 변형합니다. 선택은 필드 일부 사용, 제외, 선택화, 고정 키 집합 중 무엇이 필요한지로 갈립니다.

원본 타입 변형 방식

mapped types

Partial<T>

수정 폼이나 PATCH 요청처럼 모든 필드가 선택 사항일 때 씁니다.

Pick<T, K>

카드 UI나 공개 응답처럼 필요한 필드만 남겨 계약을 좁힙니다.

Omit<T, K>

password, token, 내부 id처럼 외부로 나가면 안 되는 필드를 제거합니다.

Record<K, V>

상태 코드, 권한명, 라우트 이름처럼 고정 키 집합을 값 타입에 매핑합니다.

Readonly<T>

설정 객체나 반환 DTO처럼 이후 코드가 값을 바꾸면 안 되는 경계에 둡니다.

source type 필드 규칙 utility type API shape