eslint/no-class-assign 正确性
它的作用
禁止重新分配类变量。
此规则可以在 TypeScript 代码中禁用,因为 TypeScript 编译器会强制执行此检查。
为什么这是不好的?
ClassDeclaration 会创建一个可被重新赋值的变量,但在大多数情况下,这种重新赋值是错误的。
示例
此规则的错误代码示例:
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` 被类名遮蔽。
}
};此规则的正确代码示例:
javascript
let A = class A {};
A = 0; // A 是一个变量。javascript
let A = class {
b() {
A = 0; // A 是一个变量。
}
};javascript
class A {
b(A) {
A = 0; // A 是一个参数。
}
}如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"no-class-assign": "error"
}
}bash
oxlint --deny no-class-assign