Spec-Zone.ru › ESLint

Запрещение переназначения членов класса

Запретить повторное присваивание членов класса

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

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

ClassDeclaration создает переменную, и мы можем ее изменить.

class A { }
A = 0;

Но в большинстве случаев изменение является ошибкой.

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

Это правило предназначено для выявления случаев изменения переменных в объявлениях классов.

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

Открыть в Playground
/*eslint no-class-assign: "error"*/

class A { }
A = 0;
Открыть в Playground
/*eslint no-class-assign: "error"*/

A = 0;
class A { }
Открыть в Playground
/*eslint no-class-assign: "error"*/

class A {
    b() {
        A = 0;
    }
}
Открыть в Playground
/*eslint no-class-assign: "error"*/

let A = class A {
    b() {
        A = 0;
        // `let A` is shadowed by the class name.
    }
}

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

Открыть в Playground
/*eslint no-class-assign: "error"*/

let A = class A { }
A = 0; // A is a variable.
Открыть в Playground
/*eslint no-class-assign: "error"*/

let A = class {
    b() {
        A = 0; // A is a variable.
    }
}
Открыть в Playground
/*eslint no-class-assign: 2*/

class A {
    b(A) {
        A = 0; // A is a parameter.
    }
}

Когда не стоит использовать

Если вы не хотите получать уведомления о изменении переменных в объявлениях классов, вы можете безопасно отключить это правило.

Версия

Это правило было добавлено в ESLint v1.0.0-rc-1.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-class-assign

Spec-Zone.ru

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