typescript/no-unsafe-type-assertion Suspicious
何を実行するか
型の絞り込みを行う不安全な型アサーションを禁止します。
なぜ問題なのか
型の絞り込みを行う型アサーションは、TypeScript の型チェックを回避し、実行時エラーを引き起こす可能性があります。一方、型の拡張を行う型アサーションは安全です。なぜなら、TypeScript が型について より少ない情報 を持っているためです。型の絞り込みに型アサーションを使用する代わりに、型ガードに依存する方が良いです。これにより、不安全な型アサーションによる潜在的な実行時エラーを回避できます。
例
このルールに対して 誤った コードの例:
ts
function f() {
return Math.random() < 0.5 ? 42 : "oops";
}
const z = f() as number;
const items = [1, "2", 3, "4"];
const number = items[0] as number;このルールに対して 正しい コードの例:
ts
function f() {
return Math.random() < 0.5 ? 42 : "oops";
}
const z = f() as number | string | boolean;
const items = [1, "2", 3, "4"];
const number = items[0] as number | string | undefined;使い方
設定ファイルまたは CLI でこのルールを 有効化 するには、以下のように使用できます:
json
{
"rules": {
"typescript/no-unsafe-type-assertion": "error"
}
}bash
oxlint --type-aware --deny typescript/no-unsafe-type-assertion