conditional type

조건부 타입 설계 순서

타입 분기는 조건, 참 결과, 거짓 결과, 추론 위치를 분리하면 내장 유틸리티처럼 읽기 쉬워집니다.

1

기준 타입

`T extends U`에서 비교할 형태를 먼저 고정합니다.

2

참 분기

조건을 만족할 때 남길 타입이나 추출할 타입을 적습니다.

3

거짓 분기

조건 밖의 값은 원본 유지, 제거, fallback 중 하나로 정합니다.

4

infer 위치

함수 반환, 배열 요소, Promise 내부처럼 뽑을 자리를 표시합니다.

분산 확인

유니온에 바로 적용하면 각 멤버에 따로 분기됩니다.

튜플로 감싸기

분산을 막고 싶으면 `[T] extends [U]` 형태로 비교합니다.

fallback 제한

`any`보다 `never`나 원본 타입을 쓰면 실패 경로가 선명합니다.