제네릭에 never가 들어올 때 분배법칙
해결됨
[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
분배법칙의 작동방법 이해가 어려워 타입스크립트 교과서를 보던 중 모르는 부분이 생겨서 질문드립니다! 해당 내용은 타입스크립트 교과서 p.111에 있는 내용인데요 type R<T> = T extends string ? true : false; type RR = R<never>; 이 코드의 설명 부분이 아래와 같이 되어 있습니다. RR 타입이 true 가 아니라 never 인 이유는 T 가 never 가 되면서 분배법칙이 일어났기 때문이다. never 는 공집합과 같으므로 공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것과 같다. 따라서 결과는 never 다. 설명이 잘 이해가 되지 않아 질문 드립니다! 분배법칙이 일어났다는 것은 never 가 never|never 로 유니언으로 분리되서 각각 타입검사를 하게 되는건가요? 그렇다면 never extends string ? true : false 가 되어서 분배 되어 각각 타입검사를 해서 true | true 가 되고 최종적으로 true 가 되어야하지 않나요? 공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것이라는 말이 무슨 말인지 잘 모르겠습니다..
- typescript
- never
- generic
- 분배법칙
dawn
댓글 1
좋아요 1
조회수 411





