JS TutorialLesson #73

JavaScript Array Const

In 2015, JavaScript introduced an important new keyword: const.

ECMAScript 2015 (ES6)

In 2015, JavaScript introduced an important new keyword: const.

It has become a common practice to declare arrays using const:

Example

Example Code

javascript
Try it Yourself
const cars = ["Saab", "Volvo", "BMW"];

Cannot be Reassigned

An array declared with const cannot be reassigned:

Example

Example Code

javascript
Try it Yourself
const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Arrays are Not Constants

The keyword const is a little misleading.

It does NOT define a constant array. It defines a constant reference to an array.

Because of this, we can still change the elements of a constant array.


Elements Can be Reassigned

You can change the elements of a constant array:

Example

Example Code

javascript
Try it Yourself
// You can create a constant array:

const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:

cars[0] = "Toyota";

// You can add an element:

cars.push("Audi");

Assigned when Declared

JavaScript const variables must be assigned a value when they are declared: Meaning: An array declared with const must be initialized when it is declared.

Using const without initializing the array is a syntax error:

Example

Example Code

javascript
Try it Yourself
const cars;

cars = ["Saab", "Volvo", "BMW"];

Arrays declared with var can be initialized at any time.

You can even use the array before it is declared:

Example

Example Code

javascript
Try it Yourself
cars = ["Saab", "Volvo", "BMW"];

var cars;

Const Block Scope

An array declared with const has Block Scope.

An array declared in a block is not the same as an array declared outside the block:

Example

Example Code

javascript
Try it Yourself
const cars = ["Saab", "Volvo", "BMW"];

// Here cars[0] is "Saab"

{

  const cars = ["Toyota", "Volvo", "BMW"];

  // Here cars[0] is "Toyota"

}

// Here cars[0] is "Saab"

An array declared with var does not have block scope:

Example

Example Code

javascript
Try it Yourself
var cars = ["Saab", "Volvo", "BMW"];

// Here cars[0] is "Saab"

{

  var cars = ["Toyota", "Volvo", "BMW"];

  // Here cars[0] is "Toyota"

}

// Here cars[0] is "Toyota"

You can learn more about Block Scope in the chapter: JavaScript Scope.


Redeclaring Arrays

Redeclaring an array declared with var is allowed anywhere in a program:

Example

Example Code

javascript
Try it Yourself
var cars = ["Volvo", "BMW"];   // Allowed

var cars = ["Toyota", "BMW"];  // Allowed

cars = ["Volvo", "Saab"];      // Allowed

Redeclaring or reassigning an array to const, in the same scope, or in the same block, is not allowed:

Example

Example Code

javascript
Try it Yourself
var cars = ["Volvo", "BMW"];     // Allowed

const cars = ["Volvo", "BMW"];   // Not allowed

{

  var cars = ["Volvo", "BMW"];   // Allowed

  const cars = ["Volvo", "BMW"]; // Not allowed

}

Redeclaring or reassigning an existing const array, in the same scope, or in the same block, is not allowed:

Example

Example Code

javascript
Try it Yourself
const cars = ["Volvo", "BMW"];   // Allowed

const cars = ["Volvo", "BMW"];   // Not allowed

var cars = ["Volvo", "BMW"];     // Not allowed

cars = ["Volvo", "BMW"];         // Not allowed

{

  const cars = ["Volvo", "BMW"]; // Allowed

  const cars = ["Volvo", "BMW"]; // Not allowed

  var cars = ["Volvo", "BMW"];   // Not allowed

  cars = ["Volvo", "BMW"];       // Not allowed

}

Redeclaring an array with const, in another scope, or in another block, is allowed:

Example

Example Code

javascript
Try it Yourself
const cars = ["Volvo", "BMW"];   // Allowed

{

  const cars = ["Volvo", "BMW"]; // Allowed

}

{

  const cars = ["Volvo", "BMW"]; // Allowed

}
Complete Array Reference > For a complete Array reference, go to our: > Complete JavaScript Array Reference > The reference contains descriptions and examples of all Array > properties and methods.


Interactive Code Examples

JS Example 1

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
const cars = ["Saab", "Volvo", "BMW"];

JS Example 2

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

JS Example 3

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
// You can create a constant array:

const cars = ["Saab", "Volvo", "BMW"];


// You can change an element:

cars[0] = "Toyota";


// You can add an element:

cars.push("Audi");

JS Example 4

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
const cars;

cars = ["Saab", "Volvo", "BMW"];

JS Example 5

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
cars = ["Saab", "Volvo", "BMW"];

var cars;

JS Example 6

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
const cars = ["Saab", "Volvo", "BMW"];

// Here cars[0] is "Saab"

{

  const cars = ["Toyota", "Volvo", "BMW"];
 
  // Here cars[0] is "Toyota"

}

// Here cars[0] is "Saab"