[TYPESCRIPT] 조건부 타입(Conditional Type) — 타입에 따라 분기하는 고급 타입 설계
TypeScript는 단순히 타입을 정의하는 언어가 아니라, 타입을 계산하고 결과를 반환하는 언어입니다. 이를 가능하게 하는 핵심 기능이 바로 조건부 타입(Conditional Type)입니다. 조건부 타입은 “특정 타입이 다른 타입에 할당 가능한지”를 기준으로 타입을 분기합니다.T extends U ? X : Y즉, T가 U에 할당 가능하면 X, 아니면 Y 타입을 반환하는 형태입니다. 조건부 타입을 활용하면, 복잡한 타입 변환을 자동화하고 확장성 높은 타입 시스템을 구축할 수 있습니다. 기본 문법type IsString = T extends string ? true : false;type A = IsString; // truetype B = IsString; // false조건부 타입은 값이 아닌 ..