中級 › ジェネリクスの型引数を明示すると戻り値の型チェックが効く › パターン5
ジェネリクスの型引数を明示すると戻り値の型チェックが効く
function firstOf<T>(items: T[]): Tのようなジェネリック関数は、呼び出し時に指定した型引数(例: firstOf<number>)に応じて戻り値の型が決まります。
1 function pair<T>(value: T): [T, T] { 2 return [value, value]; 3 } 4 const result: ________________ = pair<string>("a"); ^ 5 console.log(result);
main.ts(4,7): error TS2322: Type '[string, string]' is not assignable to type '[number, number]'.
空欄を埋めてコンパイルを通す
pair<string>の戻り値は[string, string]です。[number, number]型の変数では受け取れません。
次の問題