Loading lesson path
Concept visual
Start at both ends
ECMAScript 2015 (ES6) In 2015, JavaScript introduced an important new keyword:
const.It has become a common practice to declare arrays using const
const cars = ["Saab", "Volvo", "BMW"];An array declared with const cannot be reassigned:
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERRORThe 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.
You can change the elements of a constant array:
// 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 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:
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:
cars = ["Saab", "Volvo", "BMW"];
var cars;Block Scope. An array declared in a block is not the same as an array declared outside the block:
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:
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 an array declared with var is allowed anywhere in a program:
var cars = ["Volvo", "BMW"]; // Allowed var cars = ["Toyota", "BMW"]; // Allowed cars = ["Volvo", "Saab"]; // AllowedRedeclaring or reassigning an array to const, in the same scope, or in the same block, is not allowed:
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:
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:
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}For a complete Array reference, go to our:
The reference contains descriptions and examples of all Array properties and methods.