eslint/no-useless-constructor 可疑
它的作用
禁止可以安全移除而不会改变类行为的构造函数。
为什么这是不好的?
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();
}
}如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"no-useless-constructor": "error"
}
}bash
oxlint --deny no-useless-constructor