メインコンテンツへスキップ

non-nullable-type-assertion-style

明示的な型キャストよりも非nullアサーションを強制します。

🎨

拡張 "plugin:@typescript-eslint/stylistic-type-checked" ESLint設定 で有効にすると、このルールが有効になります。

🔧

このルールによって報告される問題の一部は、 --fix ESLintコマンドラインオプション.

で自動的に修正できます。

💭 このルールは 型情報

を実行する必要があります。

  • 値がnullまたはundefinedではない型であることをTypeScriptにアサートする方法は2つあります。
  • !: 非nullアサーション

as: 偶然にも同等の型を持つ従来の型アサーション

!非nullアサーションは、一般的にコード量が少なく、型の変更によって同期が外れにくいことから推奨されます。このルールは、asキャストが!と同じ役割を果たしている場合に報告し、コードを!にするように修正することを提案します。
module.exports = {
"rules": {
"@typescript-eslint/non-nullable-type-assertion-style": "error"
}
};

.eslintrc.cjs

プレイグラウンドでこのルールを試す ↗

const maybe: string | undefined = Math.random() > 0.5 ? '' : undefined;

const definitely = maybe as string;
const alsoDefinitely = <string>maybe;
✅ 正しい

プレイグラウンドで開く

オプション

このルールは設定できません。

使用しない場合


不必要に冗長な型アサーションがあっても構わない場合は、このルールを避けることができます。

型チェックされたリントルールは、従来のリントルールよりも強力ですが、型チェックされたリンティングを設定する必要もあります。型チェックされたルールを有効にした後にパフォーマンスの低下が発生した場合は、パフォーマンスのトラブルシューティングを参照してください。