TypeScript의 유틸리티 타입(Utility Types)은 기존 타입을 쉽게 변환하거나 조작하는 데 사용되는 일련의 타입 도구입니다.
TypeScript에서는 일반적인 사용 사례에 대응하는 유틸리티 타입들을 제공하여 사용자가 직접 구현할 필요 없이 사용할 수 있습니다.
TypeScript에서 제공하는 일부 유틸리티 타입입니다.
Partial<T>
Partial<T>
유틸리티 타입은 타입 T의 모든 속성을 선택적(Optional) 속성으로 변환합니다.interface Person {
name: string;
age: number;
}
type PartialPerson = Partial<Person>;
Required<T>
Required<T>
유틸리티 타입은 타입 T의 모든 선택적(Optional) 속성을 필수 속성으로 변환합니다.interface Person {
name: string;
age?: number;
}
type RequiredPerson = Required<Person>;
Readonly<T>
Readonly<T>
유틸리티 타입은 타입 T의 모든 속성을 읽기 전용(Read-only) 속성으로 변환합니다.interface Person {
name: string;
age: number;
}
type ReadonlyPerson = Readonly<Person>;
Pick<T, K extends keyof T>
Pick<T, K extends keyof T>
유틸리티 타입은 타입 T에서 특정 속성들만 추출하여 새로운 타입을 생성합니다.interface Person {
name: string;
age: number;
address: string;
}
type NameAndAge = Pick<Person, "name" | "age">;
Omit<T, K extends keyof T>
Omit<T, K extends keyof T>
유틸리티 타입은 타입 T에서 특정 속성들을 제외한 나머지 속성들로 구성된 새로운 타입을 생성합니다.interface Person {
name: string;
age: number;
address: string;
}
type NameAndAddress = Omit<Person, "age">;
TypeScript의 유틸리티 타입(Utility Types)은 기존 타입을 쉽게 변환하거나 조작하는데 사용되는 타입 도구들입니다.
이를 활용하여 더욱 유연한 타입 변환을 수행하고, 코드의 중복을 줄이고 가독성을 높일 수 있습니다.