4歳娘「パパ、具体的な名前をつけないで?」 ↑こちらの記事の続きです。 前回のあらすじ 前回の記事は、 引数が数値であれば、数値の配列を返すべし 引数が文字列であれば、文字列の配列を返すべし 引数がオブジェクトであれば、オブジェクトの配列を返すべし 引数が配列であれば、配列の配列(二次元配列)を返すべし 上記のような制限を持った関数を、 ジェネリクスを使って表現しよう、という内容でした。 コードも軽く見返してみましょう。 function toArray<T>(arg: T): [T, T, T] { return [arg, arg, arg]; } できあがった関数は上記のようなものでした。 引数がTだったら、戻り値は[T, T, T]であるべし つまり、 引数がnumberだったら、戻り値は[number, number, number]であるべし このような制限を、ジェネリクスで表