条件型(T extends U ? X : Y)を使って、型レベルで条件分岐を行う方法を学びます。型の特性に基づいて異なる型を返すことができ、より柔軟で表現力豊かな型定義が可能になります。
// 条件型の基本type IsString<T> = T string ? true : false;type Test1 = IsString<string>;type Test2 = IsString<number>;// 実用的な例type Nullable<T> = T null | undefined ? T : T | null;