"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > let, const , var difference in Javascript?

let, const , var difference in Javascript?

Published on 2024-08-21
Browse:216

let, const , var difference in Javascript?

In JavaScript, let, const, and var are used to declare variables, but they are different in three ways:

1. Scope
2. Reassignment
3. Hoisting

1.Scope:

var is a functional scope means we access var variable anywhere within the function if we try access it outside function it will show error undefined
Example:-

function demo(){
  if(true){
    var n = 3;
  }
  console.log(n)
}
console.log(n) //ReferenceError: n is not defined
demo();

let & const are block means we can access them within the scope only otherwise it will show undefined error
Example:-

function demo(){
  if(true){
    let n = 3;
    const m = 5;
     console.log(n) // 3
     console.log(m) // 5
  }
  console.log(n) //ReferenceError: n is not defined
  console.log(m) //ReferenceError: n is not defined
}
console.log(n) //ReferenceError: n is not defined
console.log(m) //ReferenceError: n is not defined
demo();

2.Reassignment

  • var: Can be reassigned and redeclared within its scope.
  • let: Can be reassigned but not redeclared within its scope.
  • const: Cannot be reassigned or redeclared. The variable itself is immutable, though objects and arrays assigned to const can still be modified .

3.Hoisting

  • var is hoisted, meaning it's accessible before its declaration, but its value will be undefined until the code reaches the line where the variable is initialized.
  • let is also hoisted, but unlike var, it cannot be accessed before its declaration due to the "temporal dead zone."
  • Variables declared with const are also hoisted but must be initialized at the time of declaration and cannot be reassigned. However, if the variable is an object or array, its contents can be modified (e.g., adding or removing items from an array).
// var example
console.log(a); // undefined (due to hoisting)
var a = 10;
console.log(a); // 10

// let example
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 20;
console.log(b); // 20

// const example
const c = 30;
c = 40; // TypeError: Assignment to constant variable
Release Statement This article is reproduced at: https://dev.to/sagar7170/let-const-var-difference-in-javascript-2d82?1 If there is any infringement, please contact [email protected] to delete it
Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3