JavaScript Scope - Block-Level Scope with let and const

In JavaScript, variables declared using let and const have block-level scope. This means they are limited in scope to the block, statement, or expression where they are defined. In this guide, we'll explore block-level scope using let and const and provide examples to illustrate their usage.

Using let for Block-Level Scope

The let keyword allows you to declare variables with block-level scope. Variables declared with let are limited to the block they are defined in:

if (true) {
let x = 10;
console.log(x); // x is accessible here
console.log(x); // x is not accessible here

Using const for Block-Level Scope

Variables declared with const also have block-level scope, and they cannot be reassigned after declaration:

if (true) {
const pi = 3.14;
console.log(pi); // pi is accessible here
console.log(pi); // pi is not accessible here

Block-Level Scope in Loops

Block-level scope is particularly useful in loops, where variables can be safely isolated within each iteration:

for (let i = 0; i < 5; i++) {
console.log(i); // i is isolated within each iteration
console.log(i); // i is not accessible here

Block-Level Scope in Functions

Block-level scope is also applicable within functions:

function exampleFunction() {
let message = "Hello, world!";
if (true) {
let message = "Goodbye, world!";
console.log(message); // Inner block message
console.log(message); // Outer block message


Block-level scope using let and const

Happy coding!