자바스크립트의 삼항 연산자(? :)를 타입의 세계로 끌고 온 끝판왕 문법입니다. 주로 라이브러리를 만드는 개발자들이 "입력된 값에 따라 반환 타입을 다르게 주어야 할 때" 사용합니다.
? :
// T가 문자열이면 숫자 타입을, 아니면 boolean 타입을 반환해라! type IsString<T> = T extends string ? number : boolean; type Result1 = IsString<"안녕하세요">; // T가 string이므로 Result1은 number 타입이 됨 type Result2 = IsString<123>; // T가 number이므로 Result2는 boolean 타입이 됨