TypeScript

TS | 유틸리티 타입

개발 공부 2025. 10. 3. 12:07

ts가 기본 제공하는 타입 조작 도구들

기존 타입을 재활용하거나 변형해서 새로운 타입을 쉽게 만들 수 있도록 도와준다.

 

Partial<T>

파셜

T의 모든 속성을 선택적으로 바꿔준다.

type User = { id: number; name: string; age: number; }
type UserPartial = Partial<User>;
// 결과
// { id?: number; name?: string; age?: number }

 

 

Required<T>

T의 모든 속성을 필수로 바꿔준다.

type UserPartial = { id?: number; name?: string; }
type UserRequired = Required<UserPartial>;
// { id: number; name: string }

 

 

Readonly<T>

T의 모든 속성을 읽기 전용(readonly)으로 바꿔준다.

type User = { id: number; name: string; }

const user: Readonly<User> = {
   name: '홍길동',
   age: 20,
};

user.name = '김철수'; // 에러뜸

 

 

Pick<Type, Key>

T에서 일부 속성만 뽑는다.

type User = { id: number; name: string; age: number; }
type UserBasic = Pick<User, "id" | "name">; // User에서 "id"와 "name"속성만 뽑는다.
// { id: number; name: string }

 

Omit<Type, Key>

T에서 특정 속성만 제외한다.

type User = { id: number; name: string; age: number; }
type UserWithoutAge = Omit<User, "age">;
// { id: number; name: string }

 

 

 

 

 

 

+ 그 외 타입들

 

📘 타입스크립트 유틸리티 타입 💯 총정리 (+응용)

타입스크립트 - Utility Types 지금까지 타입스크립트를 다루면서, 자바스크립트를 어느정도 아니까 타입 종류만 배우면 뚝딱 마스터 할 줄 알았더니, 타입 자체를 코딩하며 에러줄을 사라지게 하

inpa.tistory.com