분산 조건부 타입과 infer 추출

조건부 타입은 union 멤버를 하나씩 검사한 뒤 결과를 다시 union으로 합칩니다. 같은 조건식 안에서 infer 를 쓰면 배열, Promise, 함수 반환값처럼 안쪽에 들어 있는 타입을 새 이름으로 받을 수 있습니다.

distribute

유니온이 필터를 통과하는 흐름

T extends U ? T : never 에서 T가 그대로 노출되어 있으면 각 멤버가 따로 조건을 통과합니다.…

infer

조건이 맞으면 내부 타입을 추출

infer R 은 조건의 패턴과 맞는 위치에서 타입을 추론하고, 참 분기에서 그 이름을 결과로 사용할 수 있게 합니다.…

3

멤버별 평가

각 후보가 extends 조건의 왼쪽에 한 번씩 들어갑니다.

4

never 제거

조건을 만족하지 않은 결과는 union에서 남지 않습니다.

5

결과 재결합

남은 타입만 다시 합쳐져 최종 타입이 됩니다.

핵심분산 조건부 타입과 infer 추출은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.