- Conditional Types check - `T extends X ? 1 : 2` - `isTypeIdenticalTo`를 사용하기 위한 술책 - 조건부 타입에서 `T`가 정해지지 않으면 `deferred`되는 것을 활용한다. - `deferred`된 conditional types는 `isTypesIdenticalTo`라는 내부 함수에 의존한다. - 두개의 conditional types가 같은 것으로 판명이 나려면 아래의 조건에 해당해야 한다. 1. 두 조건 유형이 동일한 제약 조건을 갖습니다. 2. 두 조건의 참 분기와 거짓 분기가 동일한 유형입니다. --- - 동일성을 체크하고자 하는 Type 두 개를 각각 조건 유형으로 만든다. - `(<T>() => T extends X ? 1 : 2)` - `(<T>() => T extends Y ? 1 : 2)` - 두개의 조건 유형 끼리의 비교를 내부 함수인 `isTypeIdenticalTo`에 의존하여 수행 --- - [참고링크](https://github.com/Microsoft/TypeScript/issues/27024)
Conditional Types check
T extends X ? 1 : 2isTypeIdenticalTo를 사용하기 위한 술책T가 정해지지 않으면deferred되는 것을 활용한다.deferred된 conditional types는isTypesIdenticalTo라는 내부 함수에 의존한다.동일성을 체크하고자 하는 Type 두 개를 각각 조건 유형으로 만든다.
(<T>() => T extends X ? 1 : 2)(<T>() => T extends Y ? 1 : 2)두개의 조건 유형 끼리의 비교를 내부 함수인
isTypeIdenticalTo에 의존하여 수행