no-this-before-super
Запрещает использовать this/super до вызова super() в конструкторах
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
В конструкторе производных классов использование this/super до вызовов super() приводит к ошибке ссылки.
Это правило проверяет ключевые слова this/super в конструкторах и сообщает о тех, которые используются до super().
Подробное описание правила
Это правило предназначено для обнаружения ключевых слов this/super до вызовов super().
Примеры некорректного кода для этого правила:
/*eslint no-this-before-super: "error"*/
class A1 extends B {
constructor() {
.a = 0;
super();
}
}
class A2 extends B {
constructor() {
.foo();
super();
}
}
class A3 extends B {
constructor() {
.foo();
super();
}
}
class A4 extends B {
constructor() {
super(.foo());
}
}
Примеры корректного кода для этого правила:
/*eslint no-this-before-super: "error"*/
class A1 {
constructor() {
this.a = 0; // OK, this class doesn't have an `extends` clause.
}
}
class A2 extends B {
constructor() {
super();
this.a = 0; // OK, this is after `super()`.
}
}
class A3 extends B {
foo() {
this.a = 0; // OK. this is not in a constructor.
}
}
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Если вы не хотите получать уведомления об использовании this/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/no-this-before-super