constructor-super
Требует вызовов super() в конструкторах
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Конструкторы производных классов должны вызывать super(). Конструкторы непроизводных классов не должны вызывать super(). Если это требование не соблюдается, движок JavaScript выдаст ошибку времени выполнения.
Это правило проверяет, присутствует ли допустимый вызов super().
Подробности правила
Это правило предназначено для выявления недопустимых или отсутствующих вызовов super().
Это синтаксическая ошибка, поскольку в классе отсутствует предложение extends:
class A {
constructor() {
super();
}
}
Примеры неправильного кода для этого правила:
/*eslint constructor-super: "error"*/
class A extends B {
// Would throw a ReferenceError.
}
// Classes which inherits from a non constructor are always problems.
class C extends null {
constructor() {
; // Would throw a TypeError.
}
}
class D extends null {
// Would throw a ReferenceError.
}
Примеры правильного кода для этого правила:
/*eslint constructor-super: "error"*/
class A {
constructor() { }
}
class B extends C {
constructor() {
super();
}
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Если вы не хотите получать уведомления о недопустимых или отсутствующих вызовах super() в конструкторах, это правило можно отключить.
Обрабатывается TypeScript
Это правило можно безопасно отключить при использовании TypeScript, поскольку компилятор TypeScript выполняет эту проверку.
Версия
Это правило появилось в ESLint v0.24.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/constructor-super