TS · TYPE

분산 조건부 타입 파이프라인

조건부 타입의 왼쪽이 naked type parameter이면 union의 각 멤버가 따로 평가된 뒤 다시 합쳐집니다.

분산 조건부 타입 파이프라인 구조

conditional
T = A | B | Cunion 입력
T extends X멤버별 조건 평가
never filter불일치 멤버 제거
union merge남은 결과를 다시 합침
T = A | B | CT extends Xnever filterunion merge

분산 조건부 타입 파이프라인 기준

점검
naked TT가 그대로 왼쪽에 있을 때 분산됩니다.
필터링never는 union에서 사라지는 성질을 이용합니다.
분산 막기[T] extends [X]처럼 감싸면 전체 union으로 평가합니다.
유틸 타입Exclude, Extract 같은 유틸의 핵심 원리입니다.