Conditional 타입 점검

조건부 타입 분산과 추론

조건부 타입은 삼항 연산자처럼 보이지만 유니언 분산, infer, never 처리 때문에 결과가 크게 달라집니다.

01

분산 여부

T가 naked type parameter이면 유니언의 각 멤버에 조건이 따로 적용됩니다.

02

추론 위치

infer는 함수 반환, 배열 원소, Promise 내부처럼 꺼낼 위치를 정확히 표시합니다.

03

실패 결과

조건을 만족하지 않는 분기는 never나 fallback 타입으로 내려가 호출부 결과를 바꿉니다.

1

wrap T

분산을 막아야 하면 [T] extends [U] 형태를 검토합니다.

2

extract

infer로 꺼낸 타입이 true 분기 안에서만 쓰이는지 봅니다.

3

fallback

false 분기의 타입이 호출부에서 의미 있는지 확인합니다.

4

union test

유니언 입력을 넣었을 때 예상 결과가 나오는지 테스트합니다.