Skip to content

noFunctionAssign (since v1.0.0)

Diagnostic Category: lint/suspicious/noFunctionAssign

Sources:

Disallow reassigning function declarations.

function foo() { };
foo = bar;
suspicious/noFunctionAssign.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;
}
suspicious/noFunctionAssign.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() { };
suspicious/noFunctionAssign.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() { };
suspicious/noFunctionAssign.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() { };
suspicious/noFunctionAssign.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;
}
suspicious/noFunctionAssign.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() { };
})();
suspicious/noFunctionAssign.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.
  
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;
}