Code Fix

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

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

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

 1  interface Car {
 2    engine: { start(): string };
 3  }
 4  function ignite(c: Car): string {
 5    return c.engine.start();
 6  }
 7  const raw: unknown = ____________________________________;
                                           ^
 8  console.log(ignite(raw as Car));
main.ts:5 TypeError: Cannot read properties of undefined (reading 'start')

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

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

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

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

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

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