eslint/no-useless-constructor Suspicious
它的作用
禁止可以在不改变类工作方式的情况下安全移除的构造函数。
为什么这不好?
如果未指定构造函数,ES2015 会提供一个默认的类构造函数。因此,提供一个空构造函数,或者一个仅仅委托给其父类的构造函数,都是没有必要的。
WARNING
注意:此 lint 规则会报告那些唯一目的在于更改父类构造函数可见性,或通过修饰符暴露参数属性的构造函数。这是因为该规则没有类型信息来判断父类构造函数是 public、protected 还是 private。
示例
以下是此规则错误代码示例:
javascript
class A {
constructor() {}
}
class B extends A {
constructor(...args) {
super(...args);
}
}以下是此规则正确代码示例:
javascript
class A {}
class B {
constructor() {
doSomething();
}
}
class C extends A {
constructor() {
super("foo");
}
}
class D extends A {
constructor() {
super();
doSomething();
}
}如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"no-useless-constructor": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"no-useless-constructor": "error",
},
});bash
oxlint --deny no-useless-constructor版本
此规则于 v0.4.4 中添加。
