Запрещение переназначения членов класса
Запретить повторное присваивание членов класса
✅ Рекомендуется
Использование конфигурации recommended из @eslint/js в файле конфигурации активирует это правило
ClassDeclaration создает переменную, и мы можем ее изменить.
class A { }
A = 0;
Но в большинстве случаев изменение является ошибкой.
Подробное описание правила
Это правило предназначено для выявления случаев изменения переменных в объявлениях классов.
Примеры некорректного кода для этого правила:
Открыть в Playground
/*eslint no-class-assign: "error"*/
class A { }
= 0;
Открыть в Playground
/*eslint no-class-assign: "error"*/
= 0;
class A { }
Открыть в Playground
/*eslint no-class-assign: "error"*/
class A {
b() {
= 0;
}
}
Открыть в Playground
/*eslint no-class-assign: "error"*/
let A = class A {
b() {
= 0;
// `let A` is shadowed by the class name.
}
}
Примеры корректного кода для этого правила:
Открыть в Playground
/*eslint no-class-assign: "error"*/
let A = class A { }
A = 0; // A is a variable.
Открыть в Playground
/*eslint no-class-assign: "error"*/
let A = class {
b() {
A = 0; // A is a variable.
}
}
Открыть в Playground
/*eslint no-class-assign: 2*/
class A {
b(A) {
A = 0; // A is a parameter.
}
}
Когда не стоит использовать
Если вы не хотите получать уведомления о изменении переменных в объявлениях классов, вы можете безопасно отключить это правило.
Версия
Это правило было добавлено в 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