JavaScript -Array-Konstante
ECMAScript 2015 (ES6)
2015 führte JavaScript ein wichtiges neues Schlüsselwort ein: const
.
Es ist eine gängige Praxis geworden, Arrays zu deklarieren mit const
:
Beispiel
const cars = ["Saab", "Volvo", "BMW"];
Kann nicht neu zugewiesen werden
Ein mit deklariertes Array const
kann nicht neu zugewiesen werden:
Beispiel
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Arrays sind keine Konstanten
Das Stichwort const
ist etwas irreführend.
Es definiert KEIN konstantes Array. Es definiert eine konstante Referenz auf ein Array.
Aus diesem Grund können wir die Elemente eines konstanten Arrays immer noch ändern.
Elemente können neu zugewiesen werden
Sie können die Elemente eines konstanten Arrays ändern:
Beispiel
// 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");
Browser-Unterstützung
Das const
Schlüsselwort wird in Internet Explorer 10 oder früher nicht unterstützt.
Die folgende Tabelle definiert die ersten Browserversionen mit voller Unterstützung für das const
Schlüsselwort:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Zugewiesen, wenn deklariert
JavaScript- const
Variablen muss ein Wert zugewiesen werden, wenn sie deklariert werden:
Bedeutung: Ein mit deklariertes Array const
muss initialisiert werden, wenn es deklariert wird.
Die Verwendung const
ohne Initialisierung des Arrays ist ein Syntaxfehler:
Beispiel
Das wird nicht funktionieren:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Mit deklarierte Arrays var
können jederzeit initialisiert werden.
Sie können das Array sogar verwenden, bevor es deklariert wird:
Beispiel
Das ist in Ordnung:
cars = ["Saab", "Volvo", "BMW"];
var cars;
Konstanter Blockbereich
Ein mit deklariertes Array const
hat Block Scope .
Ein in einem Block deklariertes Array ist nicht dasselbe wie ein außerhalb des Blocks deklariertes Array:
Beispiel
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"
Ein mit deklariertes Array var
hat keinen Blockbereich:
Beispiel
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"
Mehr über Block Scope erfahren Sie im Kapitel: JavaScript Scope .
Arrays neu deklarieren
Die Neudeklaration eines mit deklarierten Arrays var
ist überall in einem Programm erlaubt:
Beispiel
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
Das erneute Deklarieren oder Neuzuweisen eines Arrays zu const
im selben Gültigkeitsbereich oder im selben Block ist nicht zulässig:
Beispiel
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
Das erneute Deklarieren oder Neuzuweisen eines vorhandenen const
Arrays im selben Bereich oder im selben Block ist nicht zulässig:
Beispiel
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
}
Das Neudeklarieren eines Arrays mit const
, in einem anderen Gültigkeitsbereich oder in einem anderen Block ist zulässig:
Beispiel
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
Vollständige Array-Referenz
Eine vollständige Array-Referenz finden Sie in unserem:
Vollständige JavaScript-Array-Referenz .
Die Referenz enthält Beschreibungen und Beispiele aller Array-Eigenschaften und -Methoden.