typescript - utility types (Omit, Pick, Partial, Record)

EBinY·2022년 11월 18일
0

type의 utilty 기능들을 사용하여 다른 interface의 타입을 상속받거나, 사용할 수 있도록 함

Omit: 지정한 항목을 제외하고 상속함

  • Omit<interfaceA, 'id'> = ifA를 상속하는데, id는 제외하고 받겠다

Pick: 지정한 항목만을 상속함

  • Pick<interfaceB, 'name' | 'role'> = ifB를 상속하는데, name과 role만 받겠다

Partial: 지정한 타입 또는 속성이 포함되어 있는 경우 자동적으로 타입을 가져다 씀

  • type Info = Partial<Address> = Info로 지정된 타입은 Address에 있는 타입들에 속해있는 경우, 자동적으로 타입을 상속함

Recode: 타입의 프로퍼티 키의 집합으로 타입을 생성, 프로퍼티를 다른 타입에 매핑시켜 사용할 수 있음

interface PageInfo {
  title: string;
}
 
type Page = "home" | "about" | "contact";
 
const nav: Record<Page, PageInfo> = {
  about: { title: "about" },
  contact: { title: "contact" },
  home: { title: "home" },
};

0개의 댓글