問題一覧に戻る
上級高度な型
問題56: 条件型の分配

条件型がUnion型に対してどのように分配されるかを学びます。分配則を理解することで、より高度な型操作が可能になります。分配を防ぐ方法も含め、条件型の動作を完全に制御できるようになります。

// 分配される条件型
type ToArray<T> = T any[] ? T : T[];

type Test1 = ToArray<string | number>;
// 分配されない条件型
type ToArrayNonDist<T> = [T] [any[]] ? T : T[];

type Test2 = ToArrayNonDist<string | number>;