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