JavaScript: const Declaration

By Xah Lee. Date: . Last updated: .

New in JS2015.

const is for declaring constants. It's similar to let Declaration, except you can't change its value once set.

const name = val;
declare and assign.
const name1 = val1, name2 = val2, name3 = val3 etc;
declare and assign multiple constants, separated by comma.
/* variable declared with const cannot be changed */
const x = 3;
x = 4;
/* TypeError: Assignment to constant variable. */

const Must Have a Value When Declared

const must have a value when declared.

/* const must have a value */
const x;
x = 3;

error: Uncaught SyntaxError: Missing initializer in const declaration
const x;

SyntaxError: Missing initializer in const declaration

Constant of Array

if a Array value is declared constant, the array itself can still change. Because the value is a reference to the object.

const xx = [3, 4];

Constant of Object

If a Object value is declared const, you can still add/delete/change properties of the object. Because the value is a reference to array.

/* if object is declared constant, the object properties can still be modified */
const jj = {};
jj.pp = 3;
console.log(jj.kk = 3);

Note, you can prevent add/delete/change properties by using Object.seal

No Name Hoisting

The const doesn't have name hoisting as var does. That means, you can't use the name before its const declaration.

[see var Declaration Order (Name Hoisting)]

JavaScript variable

JavaScript in Depth

JavaScript in Depth

Basic Syntax

Value Types




Object and Inheritance




Iterable 🌟