no-class-assign
禁止重新分配类成员
在 配置文件 中使用来自 @eslint/js 的 recommended 配置可以启用此规则
ClassDeclaration 创建了一个变量,我们可以修改这个变量。
class A { }
A = 0;
但在大多数情况下,修改是错误的。
🌐 But the modification is a mistake in most cases.
规则详情
🌐 Rule Details
该规则旨在标记修改类声明的变量。
🌐 This rule is aimed to flag modifying variables of class declarations.
此规则的错误代码示例:
🌐 Examples of incorrect code for this rule:
/*eslint no-class-assign: "error"*/
class A { }
A = 0;
/*eslint no-class-assign: "error"*/
A = 0;
class A { }
/*eslint no-class-assign: "error"*/
class A {
b() {
A = 0;
}
}
/*eslint no-class-assign: "error"*/
let A = class A {
b() {
A = 0;
// `let A` is shadowed by the class name.
}
}
符合此规则的正确代码示例:
🌐 Examples of correct code for this rule:
/*eslint no-class-assign: "error"*/
let A = class A { }
A = 0; // A is a variable.
/*eslint no-class-assign: "error"*/
let A = class {
b() {
A = 0; // A is a variable.
}
}
/*eslint no-class-assign: 2*/
class A {
b(A) {
A = 0; // A is a parameter.
}
}
选项
🌐 Options
此规则没有选项。
🌐 This rule has no options.
何时不使用
🌐 When Not To Use It
如果你不想收到有关修改类声明变量的通知,你可以安全地禁用此规则。
🌐 If you don’t want to be notified about modifying variables of class declarations, you can safely disable this rule.
由 TypeScript 处理
使用 TypeScript 时禁用此规则是安全的,因为 TypeScript 的编译器强制执行此检查。
版本
此规则是在 ESLint v1.0.0-rc-1 中引入。