What is let in javascript?

What is let in javascript?

Browse by Category


In JavaScript, the let keyword is used to declare variables with block scope. Introduced in ECMAScript 6 (ES6), it provides an alternative to the var keyword, which has function scope. The let keyword allows developers to declare variables that are limited in scope to the block, statement, or expression in which they are defined. This article will explore the usage and benefits of the let keyword in JavaScript.

Block Scope with let

When a variable is declared using let, it is only accessible within the block it is defined in. A block is typically defined by a pair of curly braces ({}) and can include statements, loops, or conditional statements. For example:

let x = 10;
console.log(x); // Output: 10

console.log(x); // Output: ReferenceError: x is not defined

In the above example, the variable x is declared using let within the block. It can be accessed and used within the block, but outside of the block, it is not defined.

Benefits of let

The let keyword provides several benefits over the traditional var keyword:

1. Block Scope: As mentioned earlier, let allows for block scope, which helps prevent variable leakage and unintended reassignments.

2. Variable Hoisting: Unlike variables declared with var, variables declared with let are not hoisted to the top of their scope. This means that they are not accessible before they are declared, avoiding potential bugs caused by accessing variables before they are assigned.

3. Reassignment: Variables declared with let can be reassigned within their scope. This allows for more flexibility in manipulating variables without the risk of accidentally reassigning variables in an outer scope.

Scoping Rules with let

The scoping rules of let can be observed in various scenarios. Consider the following example:

let x = 5;

if (true) {
let x = 10;
console.log(x); // Output: 10

console.log(x); // Output: 5

In this example, we have two variables named x. The inner x is declared within the if block using let, and the outer x is declared outside the block. The inner x shadows the outer x within the block, but outside the block, the outer x is accessible.


The let keyword in JavaScript provides block scope for variables, offering benefits such as preventing variable leakage, avoiding hoisting issues, and allowing reassignment within the scope. It is a valuable addition to the language, especially when working with complex code structures.


– developer.mozilla.org
– www.ecma-international.org

659 Niche Markets

$ 0
Free e-Book
  • PURR-659-niche-markets-thriving-160
    Organized by 7 categories:
  • Money, Health, Hobbies, Relationships, + 3 more profitable categories. 659 niche markets in total.