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