The Wayback Machine - https://web.archive.org/web/20240930160501/https://www.geeksforgeeks.org/javascript-let/
Open In App

JavaScript Let

Last Updated : 26 Jul, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

The let keyword in JavaScript is used to make variables that are scoped to the block they’re declared in. Once you’ve used let to define a variable, you cannot declare it again within the same block. It’s important to declare let variables before using them.

The let keyword was introduced in the ES6 or ES2015 version of JavaScript. It’s usually recommended to use let when you’re working with JavaScript.

Syntax:

let variable_name = value;

1. 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
{
    let num = 10;
    
    // calling the function inside block
    console.log(num)
}

// Calling a function outside
// block throws an Error
console.log(num)

Output:

10
Uncaught ReferenceError: num is not defined

2. 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
let num = 10;
console.log(num);
function fun() {
    console.log(num);
}

fun(); // Calling the function

Output:

10 
10

3. 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
function fun() {
    let num = 10;
    console.log(num);
}

fun(); //  Calling the function

console.log(num);

Output:

10
"ReferenceError: num is not defined

1. Redeclaring Variables in different blocks

The variables declared using let can be redeclared inside other blocks.

Example: In this example, variable x is redeclared inside other blocks.

javascript
let x = 77;

{
    let x = 23;
    console.log(x);
}

console.log(x);

Output:

23
77

2. Redeclaring Variables in the same blocks

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

Example: In this example, variable x is redeclared inside the same blocks.

javascript
let x = 77;

{
    let x = 23; // legal
    console.log(x);
}

let x = 67; // illegal

console.log(x);

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.

Example: Let do not support hoisting.

javascript
x = 12;

console.log(x);

let x;

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
  • Safari 10 and above

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

JavaScript Let – FAQs

What is let in JavaScript?

let is a keyword used to declare variables in JavaScript, introduced in ES6, providing block scope, unlike var which has function scope.

How does let differ from var?

let has block scope, meaning it is only accessible within the block it is defined in, whereas var has function scope and is hoisted.

What is block scope in JavaScript?

Block scope means the variable is only accessible within the curly braces {} where it is declared, such as in loops, conditionals, or functions.

Can you redeclare a variable using let in the same scope?

No, variables declared with let cannot be redeclared in the same scope, which prevents accidental overwriting of variables.

What happens if you try to access a let variable before it is declared?

Accessing a let variable before its declaration results in a ReferenceError due to the Temporal Dead Zone (TDZ), where the variable exists but is not yet initialized.

Can let be used in loops?

Yes, let is commonly used in loops for variable declaration, ensuring each iteration has its own scope, avoiding issues with closures in asynchronous code.



Previous Article
Next Article

Similar Reads

What is the use of let & const in JavaScript ?
In this article, we are going to discuss the usage of let and const in JavaScript with the help of certain theoretical explanations along with some coding example as well. let: let keyword is used to declare variables in JavaScript that are actually to made as block-scoped i.e. it allows us to declare a variable within a block or within an expressi
5 min read
Difference between var and let in JavaScript
In the early days of JavaScript, there was only one way of declaring variables and that was using the var keyword. A variable declared with var is defined throughout the program. One of the issues with using the var keyword was redeclaring a variable inside a block will also redeclare the variable outside the block.  With the introduction of ES6 in
3 min read
Difference between var, let and const keywords in JavaScript
In JavaScript, we use var, let, and const to create variables. These keywords might seem similar at first, but they control how and where your variables work in your code. Let's explore each one and how they differ from each other. JavaScript var keywordThe var is the oldest keyword to declare a variable in JavaScript. It has the Global scoped or f
5 min read
What is the meaning of let-* in Angular 2 Templates ?
The let keyword in Angular declares a template input variable that is referenced within the template. In Angular, the micro syntax is used to configure a directive in a compact and friendly string. It is a capability given in angular to embed the variables in the template directly by translating that string into attributes on the <ng-template
3 min read
Ember.js Ember.Templates.helpers let() Method
Ember.js is an open-source JavaScript framework used for developing large client-side web applications which is based on Model-View-Controller (MVC) architecture. Ember.js is one of the most widely used front-end application frameworks. It is made to speed up development and increase productivity. Currently, it is utilized by a large number of webs
2 min read
JavaScript Course Understanding Code Structure in JavaScript
Inserting JavaScript into a webpage is much like inserting any other HTML content. The tags used to add JavaScript in HTML are <script> and </script>. The code surrounded by the <script> and </script> tags is called a script blog. The 'type' attribute was the most important attribute of <script> tag. However, it is no
4 min read
Introduction to JavaScript Course - Learn how to build a task tracker using JavaScript
This is an introductory course about JavaScript that will help you learn about the basics of javascript, to begin with, the dynamic part of web development. You will learn the basics like understanding code structures, loops, objects, etc. What this course is about? In this course we will teach you about the basics of the scripting language i.e) Ja
4 min read
JavaScript Course Loops in JavaScript
Looping in programming languages is a feature that facilitates the execution of a set of instructions/functions repeatedly while some condition evaluates to true. For example, suppose we want to print “Hello World” 10 times. Example: In this example we will print the same things, again and again, to understand the work of Loops. <script> cons
4 min read
JavaScript Course Logical Operators in JavaScript
logical operator is mostly used to make decisions based on conditions specified for the statements. It can also be used to manipulate a boolean or set termination conditions for loops. There are three types of logical operators in Javascript: !(NOT): Converts operator to boolean and returns flipped value &&:(AND) Evaluates operands and retu
3 min read
JavaScript Course What is JavaScript ?
JavaScript is a very famous programming language that was originally started in the year of 1995 with the motive of making web pages alive. It is also an essential part of the web developer skillset. In simple terms, if you want to learn web development then learn HTML & CSS before starting JavaScript. HTML: HTML is used to create the structure of
3 min read
JavaScript Course Operators in JavaScript
An operator is capable of manipulating a certain value or operand. Operators are used to performing specific mathematical and logical computations on operands. In other words, we can say that an operator operates the operands. In JavaScript, operators are used for comparing values, performing arithmetic operations, etc. There are various operators
7 min read
JavaScript Course Functions in JavaScript
Javascript functions are code blocks that are mainly used to perform a particular function. We can execute a function as many times as we want by calling it(invoking it). Function Structure: To create a function, we use function() declaration. // Anonymous function function(){ // function...body } // function with a name function displayMessage(){
4 min read
JavaScript Course Conditional Operator in JavaScript
JavaScript Conditional Operators allow us to perform different types of actions according to different conditions. We make use of the 'if' statement. if(expression){ do this; } The above argument named 'expression' is basically a condition that we pass into the 'if' and if it returns 'true' then the code block inside it will be executed otherwise n
3 min read
JavaScript Course Objects in JavaScript
We have learned about different Data Types that javascript provides us, most of them primitive in nature. Objects are not primitive in nature and are a bit complex to understand. Everything in javascript is basically an object, and that is the reason why it becomes very important to have a good understanding of what they are. Objects are used to st
4 min read
How to compare two JavaScript array objects using jQuery/JavaScript ?
In this article, we are given two JavaScript array/array objects and the task is to compare the equality of both array objects. These are the methods to compare two JavaScript array objects: Using jQuery not() methodUse the sort() functionUse JSON.stringify() functionUsing every() and indexOf()Using Lodash _.isEqual() MethodApproach 1: Using jQuery
3 min read
How can JavaScript codes be hidden from old browsers that do not support JavaScript ?
Nowadays all modern browsers support JavaScript, however, older browsers did not support JavaScript. In this article, we will learn how we can hide JavaScript code from running in older browsers. Approach: After opening the <script> tag, we will use a one-line HTML style comment without any closing character ( <!-- ). We will then write th
2 min read
How are the JavaScript window and JavaScript document different from one another?
What is a JavaScript window? The window is at a root/top level at the JavaScript object hierarchy. It is a global/root object in JavaScript and it is the root object of the Document object model(DOM); What is a JavaScript document? A document is an object inside the window object and we use a document object for manipulation inside the document. Th
3 min read
Explore the concept of JavaScript Function Scope and different types of JavaScript Functions
JavaScript is based on functional programming. Therefore, functions are fundamental building blocks of JavaScript. So the function is called first-class citizens in JavaScript. Syntax: Define a functionfunction functionName(parameters) { // SET OF STATEMENTS } Call a functionfunctionName(arguments); The function execution stops when all the stateme
10 min read
Which href value should we use for JavaScript links, "#" or "javascript:void(0)" ?
In this article, we will know which "href" should be used for JavaScript when we can use "#" or "javascript:void(0)". Let us understand it. Using the '#' value: The # is a fragment identifier used to refer to a specific section of the same document. When a user clicks a link with a # href, the browser will scroll to that section of the page specifi
3 min read
How to include a JavaScript file in another JavaScript file ?
In native JavaScript, before ES6 Modules 2015 was introduced had no import, include, or require functionalities. Before that, we can load a JavaScript file into another JavaScript file using a script tag inside the DOM that script will be downloaded and executed immediately. Now after the invention of ES6 modules, there are so many different approa
3 min read
JavaScript Program to find Length of Linked List using JavaScript
Given a linked list, the task is to determine its length using various methods. The linked list is a fundamental data structure consisting of nodes connected in a chain, offering efficient data organization. Different approaches, including Iterative and Recursive Methods, enable us to compute the length of a linked list easily. Use the below approa
3 min read
JavaScript Cheat Sheet - A Basic Guide to JavaScript
JavaScript is a lightweight, open, and cross-platform programming language. It is omnipresent in modern development and is used by programmers across the world to create dynamic and interactive web content like applications and browsers. It is one of the core technologies of the World Wide Web, alongside HTML and CSS, and the powerhouse behind the
15+ min read
JavaScript Course Variables in JavaScript
Variables in JavaScript are containers that hold reusable data. It is the basic unit of storage in a program. The value stored in a variable can be changed during program execution. A variable is only a name given to a memory location, all the operations done on the variable effects that memory location. In JavaScript, all the variables must be dec
4 min read
JavaScript Complete Guide - A to Z JavaScript Concepts
What is JavaScript ? JavaScript is a lightweight, cross-platform, single-threaded, and interpreted compiled programming language. It is also known as the scripting language for webpages. What is JavaScript Complete Guide ? JavaScript Complete Guide is a list of A to Z JavaScript concepts from beginner to advanced level. Table of Contents Introducti
8 min read
How to Delay a JavaScript Function Call using JavaScript ?
Delaying a JavaScript function call involves postponing its execution for a specified time using methods like setTimeout(). This technique is useful for timed actions, animations, or asynchronous tasks, enabling smoother user experiences and better control over when certain operations run. There are several ways to delay the execution of a function
3 min read
JavaScript Date Comparison: How to Compare Dates in JavaScript?
JavaScript Date Comparison is a common task and used in many applications. Like - building scheduling features, filtering data by date, or just checking if one date is before or after another. However, working with dates can be tricky due to different formats and time zones. In this article, we will explore various ways to compare dates in JavaScri
4 min read
How to Convert JavaScript Class to JSON in JavaScript?
When transmitting or saving class data in a structured manner, converting an instance of a class into a JSON format is also necessary. JSON (JavaScript Object Notation) supplies a method of turning objects into strings. They can be sent across a network or stored in a database, properties of the instance of the class should be taken out and changed
2 min read
How to Convert a JavaScript Object to a Form Data in JavaScript?
In web development, especially when dealing with forms and AJAX requests, you might find yourself needing to convert a JavaScript object into a FormData object. The FormData interface provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be sent via XMLHttpRequest or fetch() to the ser
4 min read
JavaScript vs Python : Can Python Overtop JavaScript by 2020?
This is the Clash of the Titans!! And no...I am not talking about the Hollywood movie (don’t bother watching it...it's horrible!). I am talking about JavaScript and Python , two of the most popular programming languages in existence today. JavaScript is currently the most commonly used programming language (and has been for quite some time!) but no
5 min read
Understanding variable scopes in JavaScript
In JavaScript, there are two types of variable scopes: Global Scope: Variables declared Globally (outside of any function) have Global Scope and Global variables can be accessed from anywhere in a program. Similar to function scope variables declared with var, let and const are quite similar when declared outside a block.Scope outside the outermost
6 min read