TypeScript-섹션10. 유틸리티 타입- 유틸리티 타입 소개(1)

손주완·2025년 7월 15일

Typescript Section10

목록 보기
1/4

✅ 선요약

  • 유틸리티 타입은 타입스크립트가 제공하는 특수한 타입 조합 도구임.
  • 제네릭, 맵드 타입, 조건부 타입 등을 조합해 자주 쓰이는 형태의 타입을 미리 구현해둔 것임.
  • 대표적인 유틸리티 타입으로는 Readonly<T>, Partial<T> 등이 있음.
  • 이번 섹션에서는 이들 중 핵심적인 타입만 다루며, 직접 구현도 병행함.

유틸리티 타입 소개

타입스크립트에서는 제네릭, 맵드 타입, 조건부 타입 등을 기반으로 실무에서 자주 사용되는 타입 조작 패턴을 미리 구현해둔 유틸리티 타입(Utility Types)을 제공함.

이들은 복잡한 타입을 짧고 직관적으로 표현하게 해 주며, 타입 안전성과 생산성을 동시에 확보할 수 있음.


예시 1: Readonly

Readonly<T>는 객체의 모든 프로퍼티를 읽기 전용(readonly)으로 변환함.

interface Person {
  name: string;
  age: number;
}

const person: Readonly<Person> = {
  name: "이정환",
  age: 27
};

person.name = ""; // ❌ 오류: 읽기 전용 프로퍼티

예시 2: Partial

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 등이 있음.
  • 다음 시간부터 실전 유틸리티 타입 구현을 병행하여 타입스크립트 고급 문법 숙련도를 높일 예정임.

0개의 댓글