no-useless-constructor
Запрещает ненужные конструкторы
Некоторые проблемы, о которых сообщает это правило, можно исправить вручную с помощью предложений редактора
В ES2015 для класса предусмотрен конструктор по умолчанию, если он не указан. Поэтому нет необходимости объявлять пустой конструктор или конструктор, который просто вызывает конструктор родительского класса, как в следующих примерах:
class A {
constructor () {
}
}
class B extends A {
constructor (value) {
super(value);
}
}
Описание правила
Это правило отмечает конструкторы классов, которые можно безопасно удалить, не изменив поведение класса.
Примеры неправильного кода для этого правила:
/*eslint no-useless-constructor: "error"*/
class A {
() {
}
}
class B extends A {
(...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();
}
}
Это правило также поддерживает синтаксис типов TypeScript.
Примеры неправильного кода TypeScript для этого правила:
/* eslint no-useless-constructor: "error" */
class A {
() {}
}
Примеры правильного кода TypeScript для этого правила:
/* eslint no-useless-constructor: "error" */
class A {
protected constructor() {}
}
class B extends A {
public constructor() {
super();
}
}
class C {
constructor(@decorated param) {}
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Если вы не хотите получать уведомления о ненужных конструкторах, это правило можно безопасно отключить.
Версия
Это правило появилось в ESLint v2.0.0-beta.1.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-useless-constructor