Typescript - Union Type, Intersection Type, Etc.
두줄요약
타입스크립트의 구조적 타입 시스템과 유니언·인터섹션 타입의 집합적 의미를 설명했습니다.\n타입 좁히기, 템플릿 리터럴 타입, 객체 리터럴의 초과 속성 검사도 다뤘습니다.
구조와 흐름
- 구조적 타입 시스템 기반의 타입 호환성과 할당 가능성 판단
- 리터럴 유닛 타입, 유니언의 합집합, 인터섹션의 교집합 관계
- 상위·하위 타입 조합에서의
string | 리터럴,string & 리터럴평가
주의할 점
let리터럴 값의string확장으로 유닛 타입 인자 전달 실패 가능성- 유니언 타입에서 공통 속성만 접근 가능하며
in또는 태그 필드 기반 좁히기 필요 - 인터섹션의 같은 속성에 호환되지 않는 타입이 있으면 해당 속성이
never로 축소
선택 이유
type판별값과switch를 이용한 Tagged Union으로 타입별 속성 안전 접근- 템플릿 리터럴 타입과
Capitalize를 통한 상태·콘텐츠 조합 타입 자동 생성 - 객체 변수 할당의 구조적 호환성과 객체 리터럴 직접 할당의 초과 속성 검사 구분
적용해볼 점
- 여러 콘텐츠 종류를 다룰 때 식별자 필드를 둔 Tagged Union 설계
- 조합이 증가하는 문자열 규칙에 템플릿 리터럴 타입 적용
- API 객체 리터럴 작성 시 초과 속성 검사 오류와 변수 할당 결과 구분



