上級 › as unknown as Xの二重キャストは型チェックを完全に迂回し、実行時エラーの原因になる › パターン4
as unknown as Xの二重キャストは型チェックを完全に迂回し、実行時エラーの原因になる
TypeScriptは通常、明らかに無関係な型同士のasによるキャストをエラーにします。
1 interface Animal2 { 2 speak(): string; 3 } 4 function callSpeak(a: Animal2): string { 5 return a.speak(); 6 } 7 const raw: number = 7; 8 console.log(callSpeak(_________________________)); ^
main.ts:5
TypeError: a.speak is not a function
空欄を埋めてコンパイルを通す
rawは実際にはnumberです。as unknown as Animal2は型チェックを完全に迂回するため、実行時にはspeakメソッドが存在せず例外になります。
次の問題