版本

no-useless-constructor

禁止不必要的构造函数

💡 hasSuggestions

此规则报告的一些问题可以通过编辑器建议手动修复。

ES2015 在未指定的情况下提供默认的类构造函数。因此,提供空构造函数或仅委托给其父类的构造函数是不必要的,如下面的示例所示。

class A {
    constructor () {
    }
}

class B extends A {
    constructor (value) {
      super(value);
    }
}

规则详细信息

此规则会标记可以安全删除而不会更改类工作方式的类构造函数。

示例

此规则的不正确代码示例

在游乐场中打开
/*eslint no-useless-constructor: "error"*/

class A {
    constructor () {
    }
}

class B extends A {
    constructor (...args) {
      super(...args);
    }
}

此规则的正确代码示例

在游乐场中打开
/*eslint no-useless-constructor: "error"*/

class A { }

class B {
    constructor () {
        doSomething();
    }
}

class C extends A {
    constructor() {
        super('foo');
    }
}

class D extends A {
    constructor() {
        super();
        doSomething();
    }
}

何时不使用它

如果您不想收到有关不必要的构造函数的通知,可以安全地禁用此规则。

版本

此规则是在 ESLint v2.0.0-beta.1 中引入的。

资源

更改语言