中級 › asによる型アサーションがコンパイラを騙して実行時エラーになる › パターン1
asによる型アサーションがコンパイラを騙して実行時エラーになる
asはコンパイラに「この値はこの型として扱ってよい」と伝える構文で、実際の値を変換したり検証したりはしません。
1 function shout(s: string): string { 2 return s.toUpperCase(); 3 } 4 const data: unknown = ____; ^ 5 console.log(shout(data as string));
main.ts:2
TypeError: s.toUpperCase is not a function
空欄を埋めてコンパイルを通す
dataは実際にはnumberです。as stringはコンパイラを黙らせるだけで、実行時にはnumberにtoUpperCaseは存在せず例外になります。
次の問題