Lint Rules

noVar (since v11.0.0)

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.

Source: https://eslint.org/docs/latest/rules/no-var

Examples

Invalid

var foo = 1;
nursery/noVar.js:1:1 lint/nursery/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.
  
   Suggested fix: Use 'const' instead.
  
    1  - var·foo·=·1;
      1+ const·foo·=·1;
    2 2  
  

Valid

const foo = 1;
let bar = 1;