TypeScriptのジェネリクス
code:ts
// tsxの場合はReactコンポーネントと認識されない様に「,」をつける
const fucn = <T,>(argument: T): T => argument;
fucn("テキスト"); // T = string
fucn(1); // T = number
ジェネリクスを使うことで型推論のタイミングを遅らせることができる。
関数でジェネリクス利用した場合は、関数呼び出し時に与えられた引数のデータ型が「T」にキャプチャされる。
T = templateの略。Tの次はUなので複数ある場合はUが使われたりする。
code:tyescript
const fucn = <T extends String ,>(argument: T): T => argument;
extendsを使うことで型引数に制約をつけることができる。