JavaScript Let

The let keyword was introduced in ES6 (2015)

Variables declared with lethave Block Scope

Variables declared with let must be Declared before use

Variables declared with letcannot be Redeclared in the same scope

Block Scope

Before ES6 (2015), JavaScript did not have Block Scope.

JavaScript had Global Scope and Function Scope.

ES6 introduced the two new JavaScript keywords: let and const.

These two keywords provided Block Scope in JavaScript:

{
  let x = 2;
}
// x can NOT be used here

Global Scope

Variables declared with thevar always have Global Scope.

Variables declared with the var keyword can NOT have block scope:

{
  var x = 2;
}
// x CAN be used here

Cannot be Redeclared

Variables defined with let can not be redeclared.

You can not accidentally redeclare a variable declared with let.

let x = "John Doe";
//This is wrong
let x = 0;
var x = "John Doe";
//This is correct
var x = 0;

Redeclaring Variables

Redeclaring a variable using the var keyword can impose problems.

Redeclaring a variable inside a block will also redeclare the variable outside the block:

var x = 10;
// Here x is 10

{
var x = 2;
// Here x is 2
}

// Here x is 2

Redeclaring a variable using the let keyword can solve this problem.

Redeclaring a variable inside a block will not redeclare the variable outside the block:

let x = 10;
// Here x is 10

{
let x = 2;
// Here x is 2
}

// Here x is 10

This article was updated on December 31, 2024

Menu