@typescript-eslint/no-dupe-class-members
不允许重复的类成员。如果类成员中有同名的声明,最后一个声明会覆盖其他声明,可能会导致意外行为。
编译器会自动校验该规则检查的代码问题,新建项目时可以不开启此规则。
规则配置
// code-linter.json5
{
"rules": {
"@typescript-eslint/no-dupe-class-members": "error"
}
}
选项
该规则无需配置额外选项。
正例
/*eslint no-dupe-class-members: "error"*/
export class A {
public bar() {
console.info('bar');
}
public qux() {
console.info('qux');
}
}
export class B {
private name: string = 'bar';
public get bar() {
return this.name;
}
public set bar(value) {
this.name = value;
}
}
export class E {
public static bar() {
console.info('static bar');
}
public bar() {
console.info('method bar');
}
}
反例
/*eslint no-dupe-class-members: "error"*/
export class A {
public bar() {
console.info('bar');
}
public bar() {
console.info('bar');
}
}
export class B {
private readonly name: string = 'bar';
public get bar() {
return this.name;
}
public bar() {
return this.name;
}
}
export class E {
public static bar() {
console.info('static bar');
}
public static bar() {
console.info('static bar');
}
}
规则集
plugin:@typescript-eslint/all
Code Linter代码检查规则的配置指导请参考Code Linter代码检查。