Constants and Scoped Variables
We now leave language subsets behind and transition to language
const keyword to define constants. Constants
are like variables except that assignments to them are ignored
(attempting to alter a constant does not cause an error) and attempts
to redeclare them cause errors:
// Define a constant and give it a value.
// Any future assignments to it are silently ignored.
// It is an error to redeclare a constant.
// This is also an error.
const keyword behaves
much like the
var keyword: there is
no block scope, and constants are hoisted to the
top of the enclosing function definition. (See Function Scope and Hoisting)
addresses it by adding the
keyword to the language. The keyword
const has always been a reserved (but
any existing code. The
was not reserved, so it is not recognized unless you explicitly opt-in
to version 1.7 or later.