版本

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 中引入的。

资源

更改语言