[ES2015] var, let and const
javascript/ES2015/ES2015-var-let-const.md
Dec 22, 2016
var, let and const
- using
var
is an issue because var
is hoisted.
var
is function scope, let
is block scope.
let
is the new var
.
const
is a constant. it is for something that is only going to be defined once. You can not redefine const
.
const
is not exactly immutable, the values in const
can sometimes be changed, for example if it’s an object and you want to chaneg property values inside, you can. But you can reassign that whole object again.
const
will never be reassigned, but it can change. (e.g. Arrays and Objects)
- You should always use
const
if you do not really need to change the variable. You should minimize mutable state
- There is comfort in knowing that something will never change.
- the problem with
var
is the scope. let
aims to resolve that with local scope.
- using
var
is not recommended because of it’s scoping issues.
Links