Spec-Zone.ru › ESLint

no-this-before-super

Запрещает использовать this/super до вызова super() в конструкторах

✅ Рекомендуется

Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило

В конструкторе производных классов использование this/super до вызовов super() приводит к ошибке ссылки.

Это правило проверяет ключевые слова this/super в конструкторах и сообщает о тех, которые используются до super().

Подробное описание правила

Это правило предназначено для обнаружения ключевых слов this/super до вызовов super().

Примеры некорректного кода для этого правила:

Открыть в Playground
/*eslint no-this-before-super: "error"*/

class A1 extends B {
    constructor() {
        this.a = 0;
        super();
    }
}

class A2 extends B {
    constructor() {
        this.foo();
        super();
    }
}

class A3 extends B {
    constructor() {
        super.foo();
        super();
    }
}

class A4 extends B {
    constructor() {
        super(this.foo());
    }
}

Примеры корректного кода для этого правила:

Открыть в Playground
/*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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API