TypeScriptにおけるジェネリック型の関数
前のレッスンでは、ジェネリック型のパラメータを受け取る恒等関数を作成しました。 ここでは、そのような関数の型を記述する方法とジェネリックインターフェースを作成する方法を学びます。
ジェネリック型の関数は、アロー関数の形式で記述することもできます。
変数 func を宣言し、ジェネリック関数の型を持たせてみましょう:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
このような変数のジェネリック型には、別のシンボルを指定することもできます。 重要なのは、型名が競合しないように注意することです:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
ジェネリック型は、呼び出しシグネチャと関数の型を中括弧で囲むことで記述できます:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
このレッスンで説明したバリエーションで、ジェネリック型の配列の長さを決定する関数を書いてください。