1. Generic을 활용해 T에 따라 달라지는 container interface StringContainer { value: string; format(): string; split(): string[]; } interface NumberContainer { value: number; nearestPrime: number; round(): number; } type Item<T> = { id: T; container: T extends string ? StringContainer : NumberContainer; }; const item1: Item<string> = { id: 'aaaaa', container: null // Type 'null' is not assignable to type 'StringContainer' } // T가 string이면 StringContainer, number이면 NumberContainer, 아니면 사용 불가 type Item2<T> = {...
#conditionalType
#Generic
#TypeScript
#컨디셔널타입
#타입스크립트
원문링크 : Conditional Type을 활용하기(1)