[TypeScript] 맵드 타입(Mapped Type)

📄 맵드 타입(Mapped Type)

맵드 타입은 기존에 정의되어 있는 타입을 새로운 타입으로 변환해 주는 문법입니다.

자바스크립트 map() API 함수를 타입에 적용한 것과 같은 효과를 가집니다.

📄 맵드 타입 기본 문법

{ [ P in  K ] : T }
{ [ P in  K ] ? : T }
{ readonly [ P in  K ] : T }
{ readonly [ P in  K ] ? : T }

📄 맵드 타입 예제

  • HeroesHulk, Capt, Thor라는 키를 유니온 타입으로 가진다.
  • HeroAgesHeroes의 키의 타입을 number로 바꾸는 맵드 타입 문법을 적용했다.
  • 상수 ages는 키값이 numberHeroAges를 타입으로 가진다.
type Heroes = "Hulk" | "Capt" | "Thor";
type HeroAges = { [K in Heroes]: number };
const ages: HeroAges = {
  Hulk: 33,
  Capt: 100,
  Thor: 1000,
};

출처

Leave a comment