타입스크립트 유니온 이름 묶기

Tony·2022년 10월 26일
0

typescript

목록 보기
10/21
interface Square {
  kind: "square";
  size: number;
}

interface Rectangle {
  kind: "rectangle";
  width: number;
  height: number;
}

type Shape = Square | Rectangle;

type ShapeName = Shape['kind'] // 'square' | 'rectangle';

타입스크립트로 타입을 선언하고 해당 타입들을 하나로 묶을 때 이름만 묶을 방법이 궁금해서 찾아보았다
중간에 팩토리 메서드 처럼 매핑해주는 메서드에서 필요했기 때문이다
위와 같이 묶고 싶은 타입안에 특정 필드를 추가해서 해당 타입의 이름을 적어주고 유니온으로 묶은 다음 그 묶은 유니온에서 공통적으로 개별 타입의 이름이적혀있는 타입을 지정해주면 각 타입의 이름별로 묶을 수 있다

참고

profile
움직이는 만큼 행복해진다

0개의 댓글