Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 16, 2022 07:05 am GMT

var vs let & const.

Redeclaration of variable

You can redeclare a variable with var but not with let and const:

var foo = 34; var foo = 46;foo; // 46

But if we try to redeclare a variable with const and let, we will get a syntax error:

var foo = 34; let  foo =46;foo;  // SyntaxError: Identifier 'foo' has already been declared.

Global scope & function scope vs block scope

Var only knows global scope and function scope meaning if you declare a var variable inside an if statement, you can still access it from outside of that if statement, but you can't do with let and const. For example:

var name = "Max"; if(name === 'Max'){  var hobbies = ['Sports', 'Cooking'];   console.log(hobbies)  // [ 'Sports', 'Cooking' ]}console.log(name, hobbies)  // 'Max' [ 'Sports', 'Cooking' ]

Notice that you can still access hobbies from outside of that if block. But in the case of let and const, we can't do that since both let & const are block scoped.

var name = "Max"; if(name === 'Max'){  let hobbies = ['Sports', 'Cooking'];   console.log(hobbies)  // [ 'Sports', 'Cooking' ]}console.log(name, hobbies) // ReferenceError: hobbies is not defined

As you can see, we got a ReferenceError. Let and cost only care about curly braces(except for curly braces of an object). You can't access variable defined inside a child block from outside. Also, you can't access variable that you defined inside a nested block.

var name = "Max"; if(name){  {    let test = 34;  }console.log(test)  // ReferenceError: test is not defined}

Hoisting: var vs let & cost

  • when it comes to var, JavaScript initializes the hoisted variable as undefined:
console.log(name); //'undefined'var name = "Rob"
  • when it comes to let & const, the declarations remain uninitialized (Cannot be Hoisted) :
console.log(name);        // ReferenceError: Cannot access 'name' before initializationvar name = "Rob"

Original Link: https://dev.to/rabedatta/difference-between-var-let-and-const-2l1e

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To