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