bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/Working with Data
JavaScript•Working with Data

JavaScript Array Const

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind JavaScript Array Const?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ cars = ["Saab", "Volvo", "BMW"];
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Arrays are Not Constants
Cannot be Reassigned
ECMAScript 2015 (ES6)

ECMAScript 2015 (ES6)

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

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

Example

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

Cannot be Reassigned

An array declared with const cannot be reassigned:

Example

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

// 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

Meaning: An array declared with const must be initialized when it is declared.

Using const without initializing the array is a syntax error:

This will not work

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

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

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

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

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

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

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

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

Previous

Regular Expression Assertions

Next

RegExp Quantifiers