Code Fix

上級 › 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

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

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

as unknown as Xの二重キャストは型チェックを完全に迂回し、実行時エラーの原因になる

しかしunknownを経由する(as unknown as X)と、この安全装置を完全に迂回でき、どんな型にも変換できてしまいます。

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

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