no-class-assign
不允许修改类声明的变量(no-class-assign)
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
ClassDeclaration
创建一个变量,我们可以修改该变量。
/*eslint-env es6*/
class A { }
A = 0;
但是修改在大多数情况下是一个错误。
规则细节
该规则旨在标记修改类声明的变量。
此规则的错误
代码示例:
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
class A { }
A = 0;
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
A = 0;
class A { }
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
class A {
b() {
A = 0;
}
}
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
let A = class A {
b() {
A = 0;
// `let A` is shadowed by the class name.
}
}
此规则的正确
代码示例:
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
let A = class A { }
A = 0; // A is a variable.
/*eslint no-class-assign: "error"*/
/*eslint-env es6*/
let A = class {
b() {
A = 0; // A is a variable.
}
}
/*eslint no-class-assign: 2*/
/*eslint-env es6*/
class A {
b(A) {
A = 0; // A is a parameter.
}
}
何时不使用它
如果您不想收到有关修改类声明变量的通知,可以安全地禁用此规则。
版本
该规则在ESLint 1.0.0-rc-1中引入。