Skip to content
Related Articles

Related Articles

JavaScript Let

Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 24 Nov, 2022
Improve Article
Save Article

JavaScript let is a keyword used to declare variables in JavaScript that are block scoped. Two new keywords were added in the ES6 or ES2015 version of javascript. Generally, it is suggested that we must use the let keyword while working with javascript.

Syntax:

let variable_name = value;

Block Scope: The variables which are declared inside the { } block are known as block-scoped variables. variables declared by the var keyword cannot be block-scoped.

Example: In this example, the num variable is block scoped and it cannot be accessed outside the block. If we try to access the variable outside the block it throws a reference error.

Javascript




<script type="text/javascript" charset="utf-8">
    {let num=10;
    // calling the function inside block
    console.log(num)
    }
    // calling the function outside block throws a Error
    console.log(num)
</script>


Output:

10
Uncaught ReferenceError: num is not defined

Global Scope: A global scope variable is a variable declared in the main body of the source code, outside all functions.

Example: In this example, the num variable is a globally scoped variable and it can be accessed from anywhere in the program.

javascript




<script type="text/javascript" charset="utf-8">
    let num=10;
    console.log(num);
    function fun(){
        console.log(num);
    }
    fun(); // calling the function
</script>


Output: 

10 
10

Function Scope: A function scope variable is a variable declared inside a function and cannot be accessed outside the function.

Example: In this example, the num variable is declared inside the function and cannot be accessed outside the function.

javascript




<script type="text/javascript" charset="utf-8">
    function fun(){
        let num=10;
        console.log(num);
    }
    fun(); //  calling the function
    console.log(num);
</script>


Output: 

10
"ReferenceError: num is not defined

Redeclaring Variables in different blocks: The variables declared using let can be redeclared inside other blocks.

javascript




<script type="text/javascript" charset="utf-8">
    let x=77;
    {
        let x=23;
        console.log(x);
    }
    console.log(x);
</script>


Output: 

23
77

Redeclaring Variables in the same blocks: We cannot redeclare variables using the let keyword inside the same blocks. It will throw an error.

javascript




<script type="text/javascript" charset="utf-8">
    let x=77;
        {
            let x=23; // legal
            console.log(x);
        }
        let x=67;// illegal
        console.log(x);
</script>


Output: 

Uncaught SyntaxError: Identifier 'x' has already been declared

Does not support Hoisting: The behavior of moving the declarations on top of the script is known as hoisting.

javascript




<script type="text/javascript" charset="utf-8">
    x=12;
        console.log(x);
        let x;   
</script>


Output: 

Uncaught ReferenceError: Cannot access 'x' before initialization 

Supported Browser:

  • Chrome 49 and above
  • Edge 14 and above
  • Firefox 44 and above
  • Opera 17 and above
  • Internet Explorer 11 and above
  • Safari 10 and above

P.S: To clear your concept of var, const, and let please go through How to declare variables in different ways in JavaScript?


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!