PASSWORD RESET

Your destination for complete Tech news

What is the difference between var, let and const in Javascript?

348 0
2 min read

In JavaScript, var, let, and const are three different ways to declare variables. Each one has its own specific characteristics and behavior, and it is important to understand the differences between them in order to choose the right one for your needs.

The var keyword is used to declare variables that are function-scoped. This means that a var variable is accessible within the function in which it is declared, as well as within any inner functions that are defined within that function. var variables are also accessible within any block of code that is defined within the function, but they are not accessible outside the function.

function foo() {
  var x = 5;
  console.log(x);  // 5
}

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

The let keyword is used to declare variables that are block-scoped. This means that a let variable is only accessible within the block of code in which it is declared, as well as within any inner blocks that are defined within that block. let variables are not accessible outside the block in which they are declared.

if (true) {
  let y = 10;
  console.log(y);  // 10
}

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

The const keyword is used to declare variables that are read-only. This means that a const variable can only be assigned a value once, and it cannot be reassigned or deleted. A const variable is also block-scoped, just like a let variable.

const z = 20;
z = 25;  // TypeError: Assignment to constant variable.
delete z;  // TypeError: Delete of an unqualified identifier in strict mode.

In general, it is a good practice to use const for variables that you do not want to modify, and to use let for variables that you need to reassign. You should only use var if you need to create a function-scoped.

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.