# 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.
}
}
# 何时不使用
如果您不想收到有关修改类声明变量的通知,您可以安全地禁用此规则。