JavaScript: let Declaration
New in JS2015.
Syntax
let name;
-
declare a variable.
// If a variable is not assigned, it has a value of undefined let x; console.log(x === undefined);
let name1, name2, etc;
-
declare multiple variables.
// declare multiple variables let a, b, c;
let name = val;
-
declare and assign.
// declare and assign let x = 4;
let name_or_assign_1, name_or_assign_2, etc;
-
declare or assign multiple variables
// declare and assign multiple variables let a = 1, b = 2, c = 3;
// declare multiple variables, some with value let a, b = 2, c; console.log(a === undefined); console.log(b === 2); console.log(c === undefined);
“let” Scope
The scope of let
is the nearest enclosing curly brackets.
// using let inside curly brackets { let x = 3; { let x = 4; console.log(x); // 4 } console.log(x); // 3 }
“let” with For-Loop
When used with for-loop, the scope of “let” is the whole “for” statement.
// using “let” with for loop for (let i = 1; i <= 3; i++) { console.log(i); } // prints 1 to 3 // if you use “i” here, it is error because out of scope
Difference between “let” and “var”
- Their scope is different. [see var Name Scope]
let
doesn't have “name hoisting”. [see var Declaration Order (Name Hoisting)]
💡 TIP: always use let
. Never use var
.