typescriptを使っているとたまに、anyは使いたくないけど色々な型を使いたい時ってあるじゃないですか。
そういう時にGenerics(ジェネリクス)でメソッドをつくると呼び出し側から型を渡せるので非常に便利でした。
以下、引用
Genericsは抽象的な型引数を使用して、実際に利用されるまで型が確定しない
クラス
・関数
・インターフェイス
を実現する為に使用されます。
function test<T>(arg: T): T { return arg; } test<number>(1); //=> 1 test<string>("文字列"); //=> 文字列 //※ Genericsでも型推論ができるので、引数から型が明示的にわかる場合は省略が可能 test("文字列2"); //=> "文字列2"
参考:https://qiita.com/k-penguin-sato/items/9baa959e8919157afcd4