no-func-assign
禁止重新赋值 function
声明
✅ 推荐
在 配置文件 中使用来自 @eslint/js
的 recommended
配置会启用此规则
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 中引入。