삼항 연사자처럼 타입도 조건에 따라 타입이 달라지게 프로그래밍 할 수는 없을까? Condition Type 타입도 삼항 연산자와 유사한 방식으로 조건부 타입을 타입핑할 수 있다. T extends U ? X : Y 이것을 간단히 리뷰해 보자면, "T가 U에 할당될 수 있는지를 확인하고 이것이 참이라면 X 타입을 사용하고 그렇지 않다면 Y 타입을 사용해라"라는 의미다. 예제를 통해 확인하면 이해가 될 것이다. interface IItem { id: number; } function getItems(id?: T): T extends number ? IItem : IItem[] { if (typeof id === "number") { return { id: 1 } as any; } return [{ id: 1..