版本

no-useless-constructor

禁止不必要的构造函数

💡 有建议

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

ES2015 如果未指定,则提供默认的类构造函数。因此,没有必要提供一个空的构造函数或一个简单地委托给其父类的构造函数,如下例所示

class A {
    constructor () {
    }
}

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

规则详情

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

示例

此规则的 错误 代码示例

在 Playground 中打开
/*eslint no-useless-constructor: "error"*/

class A {
    constructor () {
    }
}

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

此规则的 正确 代码示例

在 Playground 中打开
/*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 中引入。

资源

更改语言