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 是一个参数。
}
}如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"no-class-assign": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"no-class-assign": "error",
},
});bash
oxlint --deny no-class-assign版本
此规则于 v0.0.3 中添加。
