no-dupe-class-members
禁止重复的类成员
✅ 推荐
在配置文件中使用来自 @eslint/js
的 recommended
配置会启用此规则。
如果在类成员中存在相同名称的声明,则最后一个声明会静默覆盖其他声明。这可能导致意外的行为。
class Foo {
bar() { console.log("hello"); }
bar() { console.log("goodbye"); }
}
var foo = new Foo();
foo.bar(); // goodbye
规则详情
此规则旨在标记在类成员中使用重复名称的情况。
示例
此规则的错误代码示例
在游乐场中打开
/*eslint no-dupe-class-members: "error"*/
class A {
bar() { }
}
class B {
bar() { }
}
class C {
bar;
}
class D {
bar;
}
class E {
static bar() { }
}
此规则的正确代码示例
在游乐场中打开
/*eslint no-dupe-class-members: "error"*/
class A {
bar() { }
qux() { }
}
class B {
get bar() { }
set bar(value) { }
}
class C {
bar;
qux;
}
class D {
bar;
qux() { }
}
class E {
static bar() { }
bar() { }
}
何时不使用它
此规则不应在 ES3/5 环境中使用。
在 ES2015 (ES6) 或更高版本中,如果您不想收到有关类成员中重复名称的通知,可以安全地禁用此规则。
由 TypeScript 处理
在使用 TypeScript 时禁用此规则是安全的,因为 TypeScript 的编译器会强制执行此检查。
版本
此规则在 ESLint v1.2.0 中引入。