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