Overview
Type | Scope | Reassignable | Redeclarable |
---|---|---|---|
var | function | yes | yes |
let | block | yes | no |
const | block | no | no |
var
function fct() { var v1 = 1; { var v2 = 2; } console.log(v1); // ok v1 = 3; // ok console.log(v2); // ok var v1 = 4; // ok } console.log(v1); // error
let
function fct() { let v1 = 1; { let v2 = 2; } console.log(v1); // ok v1 = 3; // ok console.log(v2); // error let v1 = 4; // error } console.log(v1); // error
const
function fct() { const v1 = 1; { const v2 = 2; } console.log(v1); // ok v1 = 3; // error console.log(v2); // error const v1 = 4; // error } console.log(v1); // error
Application
- Depending on the circumstances try to use ‘const’ over ‘let’ over ‘var’.