Code Fix

中級asによる型アサーションがコンパイラを騙して実行時エラーになる › パターン3

asによる型アサーションがコンパイラを騙して実行時エラーになる

asはコンパイラに「この値はこの型として扱ってよい」と伝える構文で、実際の値を変換したり検証したりはしません。

 1  function sumAll(items: number[]): number {
 2    return items.reduce((a, b) => a + b, 0);
 3  }
 4  const raw: unknown = _________;
                             ^
 5  console.log(sumAll(raw as number[]));
main.ts:2 TypeError: items.reduce is not a function

空欄を埋めてコンパイルを通す

広告
広告スロット(未設定)

asによる型アサーションがコンパイラを騙して実行時エラーになる

unknown型の値をasで別の型に見せかけると、実際の値がその型のメソッドを持たない場合に実行時エラーになります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)