Spec-Zone.ru › ESLint

no-func-assign

Запретить переопределение объявлений function

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

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

Функции JavaScript могут быть написаны как FunctionDeclaration function foo() { ... } или как FunctionExpression var foo = function() { ... };. Хотя интерпретатор JavaScript может это потерпеть, перезапись/переопределение функции, написанной как FunctionDeclaration, часто указывает на ошибку или проблему.

function foo() {}
foo = bar;

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

Это правило запрещает переопределение объявлений function.

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

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

function foo() {}
foo = bar;

function baz() {
    baz = bar;
}

var a = function hello() {
  hello = 123;
};

Примеры некорректного кода для этого правила, в отличие от соответствующего правила в JSHint:

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

foo = bar;
function foo() {}

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

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

var foo = function () {}
foo = bar;

function baz(baz) { // `baz` is shadowed.
    baz = bar;
}

function qux() {
    var qux = bar;  // `qux` is shadowed.
}

Обработка TypeScript

Безопасно отключить это правило при использовании TypeScript, поскольку компилятор TypeScript выполняет эту проверку.

Версия

Это правило было добавлено в ESLint v0.0.9.

Ресурсы

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

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

Spec-Zone.ru

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