конструктор-супер
Требовать 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