목록 보기
Typescript - Union Type, Intersection Type, Etc.
프론트엔드

Typescript - Union Type, Intersection Type, Etc.

카카오엔터테인먼트FE
카카오엔터테인먼트FE
2022년 11월 24일

두줄요약

타입스크립트의 구조적 타입 시스템과 유니언·인터섹션 타입의 집합적 의미를 설명했습니다.\n타입 좁히기, 템플릿 리터럴 타입, 객체 리터럴의 초과 속성 검사도 다뤘습니다.

구조와 흐름

  • 구조적 타입 시스템 기반의 타입 호환성과 할당 가능성 판단
  • 리터럴 유닛 타입, 유니언의 합집합, 인터섹션의 교집합 관계
  • 상위·하위 타입 조합에서의 string | 리터럴, string & 리터럴 평가

주의할 점

  • let 리터럴 값의 string 확장으로 유닛 타입 인자 전달 실패 가능성
  • 유니언 타입에서 공통 속성만 접근 가능하며 in 또는 태그 필드 기반 좁히기 필요
  • 인터섹션의 같은 속성에 호환되지 않는 타입이 있으면 해당 속성이 never로 축소

선택 이유

  • type 판별값과 switch를 이용한 Tagged Union으로 타입별 속성 안전 접근
  • 템플릿 리터럴 타입과 Capitalize를 통한 상태·콘텐츠 조합 타입 자동 생성
  • 객체 변수 할당의 구조적 호환성과 객체 리터럴 직접 할당의 초과 속성 검사 구분

적용해볼 점

  • 여러 콘텐츠 종류를 다룰 때 식별자 필드를 둔 Tagged Union 설계
  • 조합이 증가하는 문자열 규칙에 템플릿 리터럴 타입 적용
  • API 객체 리터럴 작성 시 초과 속성 검사 오류와 변수 할당 결과 구분

카카오 계열사 채용30건

채용 사이트에서 전체 보기

다음 읽기

#TypeScript 주제를 이어서 읽기

Typescript - Union Type, Intersection Type, Etc.

타입스크립트의 구조적 타입 시스템과 유니온·인터섹션 타입의 기본 개념을 설명했습니다. 또한 태그드 유니온과 템플릿 리터럴 타입, 객체 리터럴의 엄격한 검사까지 함께 정리했습니다.

카카오엔터테인먼트FE
카카오엔터테인먼트FE
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...