What is the difference between let and var when declaring variables in javascript?

Both let and var create mutable (re-assignable) variables in JavaScript. Both follow the same initalisation pattern as well:var a = 123;let a = 123;The difference between let and var comes down to something called scope.A variable declared using the var syntax will be availible for the entire local scope function it's declared in.A variable that is declared using the let syntax, will only be availible for the scope in which it is declaredHere are some examples:function aFunction() { var globalA = 123; let globalB = 123; for(let i = 0; i < 10; i++) { let x = i; console.log(x) // 0 to 10 } console.log(x) // undefined <- Outside of the scope of this variable for(var j = 0; j < 10; j++) { console.log(j); // 0 to 10 } console.log(j) // 10}

LB

Related Javascript Mentoring answers

All answers ▸

I've just heard about objects. How do I use them and do they work with Arrays?


Find the sum of all multiples of 2 less than 10000


How to check if value exists in an object in JavaScript?


What does the document.onload() function do and why is it useful?