로딩
요청 처리 중입니다...

#21 타입스크립트 - 타입 조작하기 3 [조건부 타입(Conditional Type)]

 #21 타입스크립트 - 타입 조작하기 3 [조건부 타입(Conditional Type)]

이번 글에서는 조건부 타입(Conditional Type)에 대해 다뤄보자. 1️ 조건부 타입(Conditional Type) 조건부 타입이란? 조건부 타입이란, 삼항 연산자와 extends를 이용하여 조건에 따라 타입을 정의할 수 있는 기능을 말한다.

예를 들어, 다음과 같이 타입 A가 number 타입이 string 타입을 확장했는지 여부에 따라 true이면 string 타입을, false면 number 타입으로 정의되도록 조건부 타입을 만들 수 있다. type A = number extends string ? string : number; // type A = number number 타입은 string 타입의 서브타입이 아니기 때문에, 즉 number 타입은 string 타입 확장한 것이 아니기 때문에 false가 되어 타입 A는 number 타입으로 정의된다.

또 하나 예시를 들어보면, 다음과 같이 ObjA 타입과 ObjB 타입이 있을 때, type ObjA = { a: ...