💁🏻‍♀️ 소개

TypeScript의 유틸리티 타입(Utility Types)은 기존 타입을 쉽게 변환하거나 조작하는 데 사용되는 일련의 타입 도구입니다.

❶ 유틸리티 타입

TypeScript에서는 일반적인 사용 사례에 대응하는 유틸리티 타입들을 제공하여 사용자가 직접 구현할 필요 없이 사용할 수 있습니다.
TypeScript에서 제공하는 일부 유틸리티 타입입니다.

  1. Partial<T>
    Partial<T> 유틸리티 타입은 타입 T의 모든 속성을 선택적(Optional) 속성으로 변환합니다.
interface Person {
    name: string;
    age: number;
}

type PartialPerson = Partial<Person>;
  1. Required<T>
    Required<T> 유틸리티 타입은 타입 T의 모든 선택적(Optional) 속성을 필수 속성으로 변환합니다.
interface Person {
    name: string;
    age?: number;
}

type RequiredPerson = Required<Person>;
  1. Readonly<T>
    Readonly<T> 유틸리티 타입은 타입 T의 모든 속성을 읽기 전용(Read-only) 속성으로 변환합니다.
interface Person {
    name: string;
    age: number;
}

type ReadonlyPerson = Readonly<Person>;
  1. 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">;
  1. 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)은 기존 타입을 쉽게 변환하거나 조작하는데 사용되는 타입 도구들입니다.
이를 활용하여 더욱 유연한 타입 변환을 수행하고, 코드의 중복을 줄이고 가독성을 높일 수 있습니다.

profile
#UXUI #코린이

0개의 댓글