extends and infer

조건부 타입 해석 순서

조건부 타입은 타입 수준에서 if 문처럼 동작하며 입력 타입이 어떤 조건을 만족하는지에 따라 다른 타입을 선택합니다.

기본 구조

타입 수준 분기

검사 대상 타입이 비교 타입에 맞는지 판단해 결과 타입을 고릅니다.

T extends U ? A : B
분산 조건부

유니온을 각각 처리

T가 naked type parameter이면 유니온 멤버마다 조건부 타입이 적용됩니다.

ToArray<string | number>
유틸리티 타입

반복 규칙 추출

Exclude, Extract, NonNullable 같은 내장 타입이 조건부 타입을 활용합니다.

Exclude<T, U>
infer

부분 타입 추론

함수 반환 타입이나 배열 요소 타입처럼 내부 타입을 새 변수로 뽑아냅니다.

infer R
분산 제어 유니온 전체를 한 번에 비교하려면 튜플로 감싸 분산을 막습니다.
가독성 조건이 깊어지면 중간 type 별칭으로 의미를 나눕니다.
실전 적용 API 응답, 함수 반환, 배열 요소 추출처럼 반복되는 타입 변환에 사용합니다.

조건부 타입은 고급 타입의 중심이며, 타입 관계를 코드처럼 재사용 가능한 규칙으로 만듭니다.