no-func-assign
Запрещает повторное присваивание объявлений function
Использование конфигурации recommended из @eslint/js в файле конфигурации включает это правило
Функции JavaScript можно записать как FunctionDeclaration function foo() { ... } или как FunctionExpression const foo = function() { ... };. Интерпретатор JavaScript может допускать это, однако перезапись/повторное присваивание функции, объявленной с помощью FunctionDeclaration, часто свидетельствует об ошибке или проблеме.
function foo() {}
foo = bar;
Подробное описание правила
Это правило запрещает повторное присваивание объявлений function.
Примеры неправильного кода для этого правила:
/*eslint no-func-assign: "error"*/
function foo() {}
= bar;
function baz() {
= bar;
}
let a = function hello() {
= 123;
};
Примеры неправильного кода для этого правила, в отличие от соответствующего правила в JSHint:
/*eslint no-func-assign: "error"*/
= bar;
function foo() {}
Примеры правильного кода для этого правила:
/*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