Skip to content

noVar (since v1.0.0)

Diagnostic Category: lint/style/noVar

Sources:

Disallow the use of var

ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords.

Block scope is common in many other programming languages and helps programmers avoid mistakes.

var foo = 1;
style/noVar.js:1:1 lint/style/noVar  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Use let or const instead of var.
  
  > 1 │ var foo = 1;
   ^^^^^^^^^^^
    2 │ 
  
   A variable declared with var is accessible in the whole module. Thus, the variable can be accessed before its initialization and outside the block where it is declared.
  
   See MDN web docs for more details.
  
   Unsafe fix: Use 'const' instead.
  
    1  - var·foo·=·1;
      1+ const·foo·=·1;
    2 2  
  
const foo = 1;
let bar = 1;