[Typescript] 조건부 타입

[원본 링크]

이것도 타입스크립트의 재미있는 기능 중 하나다.

타입 자체를 분기처리의 대상으로 사용할 수 있게 해주는 기능이다.
타입이 들어갈 위치에 extends 표현식과 삼항연산자를 사용해서 표현한다.

extends가 true일때 boolean, false일때 null 타입이 되는 것이다.

위에서는 number extends number로 해놓아서 무조건 true이니 boolean이 되었다.

이 자체로는 별거 아닌 것 같지만, 제너릭이 섞이면 꽤나 흥미롭게 편한다.

제너릭 타입이 무엇이 들어오는 지에 따라서 타입이 달라지도록 할 수 있는 것이다.

메타프로그래밍을 할때 종종 쓸만하겠다.



참조
https://www.typescriptlang.org/docs/handbook/2/conditional-types.html