no-func-assign
禁止重新分配function声明( no-func-assign )
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
JavaScript 函数可以写成 FunctionDeclaration function foo() { ... }
或 FunctionExpression var foo = function() { ... };
。尽管 JavaScript 解释器可以容忍它,但覆盖/重新分配写为 FunctionDeclaration 的函数常常表示有错误或问题。
function foo() {}
foo = bar;
规则细节
此规则不允许重新分配function
声明。
此规则的错误
代码示例:
/*eslint no-func-assign: "error"*/
function foo() {}
foo = bar;
function foo() {
foo = bar;
}
这一规则的不正确
代码的例子,不像在 JSHint 相应规则的代码:
/*eslint no-func-assign: "error"*/
foo = bar;
function foo() {}
此规则的正确
代码示例:
/*eslint no-func-assign: "error"*/
var foo = function () {}
foo = bar;
function foo(foo) { // `foo` is shadowed.
foo = bar;
}
function foo() {
var foo = bar; // `foo` is shadowed.
}
版本
该规则在 ESLint 0.0.9 中引入。