no-dupe-class-members
Запретить дублирование членов класса
Использование конфигурации recommended из @eslint/js в файле конфигурации активирует эту проверку.
Если в членах класса есть объявления с одинаковым именем, последнее объявление безмолвно перезаписывает другие объявления. Это может привести к неожиданному поведению.
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.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-dupe-class-members