no-useless-constructor

禁止不必要的构造函数

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

class A {
    constructor () {
    }
}

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

规则详情

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

示例

此规则的错误代码示例:

/*eslint no-useless-constructor: "error"*/
/*eslint-env es6*/

class A {
    constructor () {
    }
}

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

此规则的正确代码示例:

/*eslint no-useless-constructor: "error"*/

class A { }

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

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

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

何时不使用

AabQI/iXeQOz++8V6qDPQ8Nv6eMAwHYBp9MKhHcqnZ9/Z+mAW3bCvhW8hOFr/vDYCG2dUGoBREpTGFkYfXvIWjS+/hFf5cR6x5Pb4hf/5DeDAl6FGz1K8tnKmz1ggiTnfUd0Qgn+tvRSfg1bssjjKQ==