Spec-Zone.ru › ESLint

no-func-assign

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

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

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

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

function foo() {}
foo = bar;

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

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

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

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

function foo() {}
foo = bar;

function baz() {
    baz = bar;
}

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

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

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

foo = bar;
function foo() {}

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

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

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

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

function qux() {
    const 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