参考にさせていただいたページ
はじめに
関数を定義する段階では引数の型は決めずに、実行時に渡す引数の型によって決まってほしいときがあると思います。
そのようなときに便利な方法です。
関数の定義の仕方
ジェネリクスを使用して、以下のように関数を定義すると引数の型が決まっていない関数を定義することができます。
function myFunction<T>(arg: T) { return arg }
関数を実行する
あとは以下のように実行します。
const myStr = myFunction('') const myNum = myFunction(10)
実用的な例
以下のような関数を定義してみました。
TypeScript学習日記 その0009 readonlyな文字列の配列をキーとしてオブジェクトを作成する関数 - Motomichi Works Blog