타입 수준 분기
검사 대상 타입이 비교 타입에 맞는지 판단해 결과 타입을 고릅니다.
T extends U ? A : B
조건부 타입은 타입 수준에서 if 문처럼 동작하며 입력 타입이 어떤 조건을 만족하는지에 따라 다른 타입을 선택합니다.
검사 대상 타입이 비교 타입에 맞는지 판단해 결과 타입을 고릅니다.
T extends U ? A : B
T가 naked type parameter이면 유니온 멤버마다 조건부 타입이 적용됩니다.
ToArray<string | number>
Exclude, Extract, NonNullable 같은 내장 타입이 조건부 타입을 활용합니다.
Exclude<T, U>
함수 반환 타입이나 배열 요소 타입처럼 내부 타입을 새 변수로 뽑아냅니다.
infer R
조건부 타입은 고급 타입의 중심이며, 타입 관계를 코드처럼 재사용 가능한 규칙으로 만듭니다.