問題一覧に戻る
中級高度な型
問題48: inferキーワード

条件型の中でinferキーワードを使って、型を推論し抽出する方法を学びます。複雑な型から特定の部分を取り出す際に強力なツールとなります。ジェネリック型の内部の型を取得する場合などに活用できます。

// inferキーワードの使用
type ArrayItem<T> = T extends ( U)[] ? U : never;

type StringArray = ArrayItem<string[]>;
type NumberArray = ArrayItem<number[]>;

// 関数の引数型を推論
type FirstArg<T> = T extends (arg: U, ...args: any[]) => any ? U : never;