기본 분기
T extends U ? X : Y에서 참과 거짓 결과를 먼저
분리합니다.
conditional type
복잡한 조건부 타입은 분기, 분산, 추출, 래핑 순서로 나누어 읽으면 결과를 예측하기 쉬워집니다.
T extends U ? X : Y에서 참과 거짓 결과를 먼저
분리합니다.
제네릭 T가 유니언이면 각 멤버별로 조건이 적용되는지 확인합니다.
infer는 Promise, 배열, 함수 반환처럼 내부 타입을 꺼낼
때 씁니다.
[T] extends [U]처럼 감싸면 전체 유니언을 한 번에
비교합니다.
Exclude, NonNullable처럼 조건에 맞는
멤버를 걸러냅니다.
함수 반환 타입이나 Promise 결과처럼 중첩된 타입을 뽑습니다.
호출부보다 타입식이 더 어렵다면 별칭을 나누고 예제를 둡니다.