noClassAssign
Цей контент ще не доступний вашою мовою.
Diagnostic Category: lint/suspicious/noClassAssign
Since: v1.0.0
Sources:
- Same as:
no-class-assign
Description
Section titled DescriptionDisallow reassigning class members.
A class declaration creates a variable that we can modify, however, the modification is a mistake in most cases.
Examples
Section titled ExamplesInvalid
Section titled Invalidclass A {}A = 0;
code-block.js:2:1 lint/suspicious/noClassAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ‘A’ is a class.
1 │ class A {}
> 2 │ A = 0;
│ ^
3 │
ℹ ‘A’ is defined here.
> 1 │ class A {}
│ ^
2 │ A = 0;
3 │
A = 0;class A {}
code-block.js:1:1 lint/suspicious/noClassAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ‘A’ is a class.
> 1 │ A = 0;
│ ^
2 │ class A {}
3 │
ℹ ‘A’ is defined here.
1 │ A = 0;
> 2 │ class A {}
│ ^
3 │
class A { b() { A = 0; }}
code-block.js:3:3 lint/suspicious/noClassAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ‘A’ is a class.
1 │ class A {
2 │ b() {
> 3 │ A = 0;
│ ^
4 │ }
5 │ }
ℹ ‘A’ is defined here.
> 1 │ class A {
│ ^
2 │ b() {
3 │ A = 0;
let A = class A { b() { A = 0; // `let A` is shadowed by the class name. }}
code-block.js:3:3 lint/suspicious/noClassAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ ‘A’ is a class.
1 │ let A = class A {
2 │ b() {
> 3 │ A = 0;
│ ^
4 │ // let A
is shadowed by the class name.
5 │ }
ℹ ‘A’ is defined here.
> 1 │ let A = class A {
│ ^
2 │ b() {
3 │ A = 0;
Valid
Section titled Validlet A = class A {}A = 0; // A is a variable.
let A = class { b() { A = 0; // A is a variable. }}
class A { b(A) { A = 0; // A is a parameter. }}
How to configure
Section titled How to configure{ "linter": { "rules": { "suspicious": { "noClassAssign": "error" } } }}