eslint/no-class-assign Correctness
What it does
Disallow reassigning class variables.
Why is this bad?
ClassDeclaration creates a variable that can be re-assigned, but the re-assignment is a mistake in most cases.
Examples
Examples of incorrect code for this rule:
javascript
class A {}
A = 0;javascript
A = 0;
class A {}javascript
class A {
b() {
A = 0;
}
}javascript
let A = class A {
b() {
A = 0;
// `let A` is shadowed by the class name.
}
};Examples of correct code for this rule:
javascript
let A = class A {};
A = 0; // A is a variable.javascript
let A = class {
b() {
A = 0; // A is a variable.
}
};javascript
class A {
b(A) {
A = 0; // A is a parameter.
}
}How to use
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny no-class-assignjson
{
"rules": {
"no-class-assign": "error"
}
}