no-class-assign
Запрещает повторное присваивание членам класса
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
ClassDeclaration создаёт переменную, которую можно изменять.
class A { }
A = 0;
Но в большинстве случаев такое изменение является ошибкой.
Подробности правила
Это правило предназначено для обнаружения изменений переменных, объявленных в классах.
Примеры некорректного кода для этого правила:
/*eslint no-class-assign: "error"*/
class A { }
= 0;
/*eslint no-class-assign: "error"*/
= 0;
class A { }
/*eslint no-class-assign: "error"*/
class A {
b() {
= 0;
}
}
/*eslint no-class-assign: "error"*/
let A = class A {
b() {
= 0;
// `let A` is shadowed by the class name.
}
}
Примеры корректного кода для этого правила:
/*eslint no-class-assign: "error"*/
let A = class A { }
A = 0; // A is a variable.
/*eslint no-class-assign: "error"*/
let A = class {
b() {
A = 0; // A is a variable.
}
}
/*eslint no-class-assign: 2*/
class A {
b(A) {
A = 0; // A is a parameter.
}
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Если вы не хотите получать уведомления об изменении переменных, объявленных в классах, это правило можно отключить.
Обрабатывается TypeScript
Это правило можно безопасно отключить при использовании TypeScript, поскольку компилятор TypeScript проверяет это.
Версия
Это правило было добавлено в ESLint v1.0.0-rc-1.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-class-assign