Code Fix

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

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

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

 1  function sumAll(items: number[]): number {
 2    return items.reduce((a, b) => a + b, 0);
 3  }
 4  const raw: string = "5";
 5  console.log(sumAll(__________________________));
                                    ^
main.ts:2 TypeError: items.reduce is not a function

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

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

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

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

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

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