Code Fix

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

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

TypeScriptは通常、明らかに無関係な型同士のasによるキャストをエラーにします。

 1  interface User {
 2    name: string;
 3  }
 4  function greet(u: User): string {
 5    return "Hello, " + u.name.toUpperCase();
 6  }
 7  const raw: number = 42;
 8  console.log(greet(______________________));
                                 ^
main.ts:5 TypeError: Cannot read properties of undefined (reading 'toUpperCase')

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

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

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

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

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

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