問題一覧に戻る
中級高度な型
問題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;