Readonly<T>, Partial<T> 등이 있음.타입스크립트에서는 제네릭, 맵드 타입, 조건부 타입 등을 기반으로 실무에서 자주 사용되는 타입 조작 패턴을 미리 구현해둔 유틸리티 타입(Utility Types)을 제공함.
이들은 복잡한 타입을 짧고 직관적으로 표현하게 해 주며, 타입 안전성과 생산성을 동시에 확보할 수 있음.
Readonly<T>는 객체의 모든 프로퍼티를 읽기 전용(readonly)으로 변환함.
interface Person {
name: string;
age: number;
}
const person: Readonly<Person> = {
name: "이정환",
age: 27
};
person.name = ""; // ❌ 오류: 읽기 전용 프로퍼티
Partial<T>는 객체의 모든 프로퍼티를 선택적(optional)으로 변환함.
interface Person {
name: string;
age: number;
}
const person: Partial<Person> = {
name: "이정환"
};
// age는 생략 가능
타입스크립트는 수십 가지 유틸리티 타입을 기본 제공함. 그중 자주 쓰이는 타입들부터 숙지하면 실무 적용에 큰 도움이 됨.
공식 문서:
👉 https://www.typescriptlang.org/docs/handbook/utility-types.html
이번 섹션에서는 다음과 같은 방향으로 진행함:
Readonly<T>, Partial<T> 등Exclude<T, U>, Extract<T, U> 등Readonly, Partial, Exclude, ReturnType 등이 있음.