Skip to content

noFunctionAssign

诊断类别:lint/suspicious/noFunctionAssign

¥Diagnostic Category: lint/suspicious/noFunctionAssign

自从:v1.0.0

¥Since: v1.0.0

来源:

¥Sources:

禁止重新分配函数声明。

¥Disallow reassigning function declarations.

¥Examples

¥Invalid

function foo() { };
foo = bar;
code-block.js:1:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

> 1 │ function foo() { };
^^^
2 │ foo = bar;
3 │

Reassigned here.

1 │ function foo() { };
> 2 │ foo = bar;
^^^
3 │

Use a local variable instead.

function foo() {
foo = bar;
}
code-block.js:1:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

> 1 │ function foo() {
^^^
2 │ foo = bar;
3 │ }

Reassigned here.

1 │ function foo() {
> 2 │ foo = bar;
^^^
3 │ }
4 │

Use a local variable instead.

foo = bar;
function foo() { };
code-block.js:2:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

1 │ foo = bar;
> 2 │ function foo() { };
^^^
3 │

Reassigned here.

> 1 │ foo = bar;
^^^
2 │ function foo() { };
3 │

Reassignment happens here because the function declaration is hoisted.

Use a local variable instead.

[foo] = bar;
function foo() { };
code-block.js:2:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

1 │ [foo] = bar;
> 2 │ function foo() { };
^^^
3 │

Reassigned here.

> 1 │ [foo] = bar;
^^^
2 │ function foo() { };
3 │

Reassignment happens here because the function declaration is hoisted.

Use a local variable instead.

({ x: foo = 0 } = bar);
function foo() { };
code-block.js:2:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

1 │ ({ x: foo = 0 } = bar);
> 2 │ function foo() { };
^^^
3 │

Reassigned here.

> 1 │ ({ x: foo = 0 } = bar);
^^^
2 │ function foo() { };
3 │

Reassignment happens here because the function declaration is hoisted.

Use a local variable instead.

function foo() {
[foo] = bar;
}
code-block.js:1:10 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

> 1 │ function foo() {
^^^
2 │ [foo] = bar;
3 │ }

Reassigned here.

1 │ function foo() {
> 2 │ [foo] = bar;
^^^
3 │ }
4 │

Use a local variable instead.

(function () {
({ x: foo = 0 } = bar);
function foo() { };
})();
code-block.js:3:14 lint/suspicious/noFunctionAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Do not reassign a function declaration.

1 │ (function () {
2 │ ({ x: foo = 0 } = bar);
> 3 │ function foo() { };
^^^
4 │ })();
5 │

Reassigned here.

1 │ (function () {
> 2 │ ({ x: foo = 0 } = bar);
^^^
3 │ function foo() { };
4 │ })();

Reassignment happens here because the function declaration is hoisted.

Use a local variable instead.

¥Valid

function foo() {
var foo = bar;
}
function foo(foo) {
foo = bar;
}
function foo() {
var foo;
foo = bar;
}
var foo = () => {};
foo = bar;
var foo = function() {};
foo = bar;
var foo = function() {
foo = bar;
};
import bar from 'bar';
function foo() {
var foo = bar;
}

¥Related links