You are currently viewing JavaScript Cheat Sheet 10.7 : JavaScript Let

JavaScript Cheat Sheet 10.7 : JavaScript Let

JavaScript let Keyword: A Comprehensive Guide for Beginners

Are you new to the world of programming and eager to learn JavaScript? You’re in the right place! In this tutorial, we will explore one of the fundamental concepts of JavaScript, the let keyword. Understanding let is essential as it plays a crucial role in variable declaration and scope management. By the end of this tutorial, you’ll have a solid grasp of how to use let effectively in your JavaScript programs.

1. What is the let Keyword?

In JavaScript, let is used to declare a variable. It’s a part of modern JavaScript (ES6 and later), and it offers better control over variable scoping compared to the older var keyword. Variables declared with let have block-level scope, which means they are only accessible within the block in which they are defined.

2. Variable Declaration Using let

You can declare a variable using let by following this syntax:

let variableName;

Here, variableName is the name of the variable you want to create. Let’s move on to a simple example:

let age;
age = 25;

In this code, we declared a variable age using let and assigned the value 25 to it. Finally, we printed the value of age to the console using console.log. The output will be:


3. Block Scoping with let

One of the significant advantages of let is block-level scoping. This means that variables declared with let are limited to the block in which they are defined. A block can be a function, an if statement, a loop, or any code enclosed within curly braces {}.

Here’s an example to illustrate block scoping:

let x = 10;

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

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

In this code, we have two variables named x, one declared inside the if block and another outside of it. Thanks to block scoping, they do not interfere with each other. The value of x inside the if block is separate from the one outside it.

4. Redefining Variables with let

Unlike the var keyword, which allows redeclaration of variables, you can’t redeclare a variable using let within the same scope. It will result in a syntax error.

let name = "Alice";
let name = "Bob"; // SyntaxError: Identifier 'name' has already been declared

In this example, redeclaring name using let within the same scope will throw a SyntaxError.

5. Hoisting in JavaScript

Variables declared with let are hoisted, but they are not initialized. This means that you can access a let variable before it’s declared, but it will have the value undefined.

console.log(age); // Output: undefined
let age = 25;

In this code, we tried to print the value of age before declaring it, and the output is undefined.

6. Sample Codes and Outputs

Let’s look at some practical examples to better understand how let works:

Example 1: Using let in a for loop

for (let i = 0; i < 3; i++) {

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

In this code, i is declared using let within the for loop’s block, and it is only accessible within that block. Attempting to access i outside the loop results in a ReferenceError.

Example 2: Variable shadowing

let name = "John";

if (true) {
  let name = "Jane";
  console.log(name); // Output: Jane

console.log(name); // Output: John

Here, we have two variables with the same name, but they do not interfere with each other due to block scoping.


In this tutorial, we’ve covered the basics of the let keyword in JavaScript, its usage for variable declaration, block scoping, and its behavior regarding variable redeclaration and hoisting. Understanding the let keyword is crucial for writing maintainable and error-free JavaScript code.

Remember, let is just one aspect of JavaScript, and there’s much more to explore in this versatile language. Continue practicing and building upon this knowledge to become a proficient JavaScript developer.

Now that you have a good understanding of the let keyword, you can confidently use it in your JavaScript programs. Happy coding!

Leave a Reply