no-unnecessary-qualifier
不要な名前空間修飾子を禁止します。
🔧
このルールによって報告される問題の一部は、 --fix
ESLintコマンドラインオプションによって自動的に修正できます。.
💭
このルールには 型情報 が必要です。
TypeScriptの列挙型と名前空間のメンバーは、一般的に修飾されたプロパティ検索(例:`Enum.member`)として取得されます。しかし、親の列挙型または名前空間内でアクセスされる場合、修飾子は不要です(例:`Enum.member`ではなく`member`)。このルールは、列挙型または名前空間の修飾子が不要な場合に報告します。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-unnecessary-qualifier": "error"
}
};
Playgroundでこのルールを試してみてください ↗
例
- ❌ 正しくない
- ✅ 正しい
enum A {
B,
C = A.B,
}
Playgroundで開くnamespace A {
export type B = number;
const x: A.B = 3;
}
Playgroundで開くenum A {
B,
C = B,
}
Playgroundで開くnamespace A {
export type B = number;
const x: B = 3;
}
Playgroundで開くオプション
このルールは設定できません。
使用しない場合
明示性のために、完全修飾名を使用することを明示的に好む場合は、このルールを使用する必要はありません。
型チェックされたlintルールは従来のlintルールよりも強力ですが、型チェックされたlintの設定も必要です。型チェックされたルールを有効にした後にパフォーマンスの低下が発生する場合は、パフォーマンスに関するトラブルシューティングを参照してください。