JavaScript Array Const
ECMAScript 2015 (ES6)
in 2015 introduceerde JavaScript een belangrijk nieuw trefwoord: const
.
Het is een gangbare praktijk geworden om arrays te declareren met behulp van const
:
Voorbeeld
const cars = ["Saab", "Volvo", "BMW"];
Kan niet opnieuw worden toegewezen
Een array gedeclareerd met const
kan niet opnieuw worden toegewezen:
Voorbeeld
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Arrays zijn geen constanten
Het trefwoord const
is een beetje misleidend.
Het definieert GEEN constante array. Het definieert een constante verwijzing naar een array.
Hierdoor kunnen we nog steeds de elementen van een constante array wijzigen.
Elementen kunnen opnieuw worden toegewezen
U kunt de elementen van een constante array wijzigen:
Voorbeeld
// 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");
Browserondersteuning
Het const
trefwoord wordt niet ondersteund in Internet Explorer 10 of eerder.
De volgende tabel definieert de eerste browserversies met volledige ondersteuning voor het const
trefwoord:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Toegewezen wanneer gedeclareerd
JavaScript- const
variabelen moeten een waarde krijgen wanneer ze worden gedeclareerd:
Betekenis: een array die is gedeclareerd met const
moet worden geïnitialiseerd wanneer deze wordt gedeclareerd.
Het gebruik const
zonder initialisatie van de array is een syntaxisfout:
Voorbeeld
Dit gaat niet werken:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Arrays gedeclareerd met var
kunnen op elk moment worden geïnitialiseerd.
U kunt de array zelfs gebruiken voordat deze is gedeclareerd:
Voorbeeld
Dit is oke:
cars = ["Saab", "Volvo", "BMW"];
var cars;
Const-blokbereik
Een array gedeclareerd met const
heeft Block Scope .
Een array gedeclareerd in een blok is niet hetzelfde als een array gedeclareerd buiten het blok:
Voorbeeld
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"
Een array gedeclareerd met var
heeft geen blokbereik:
Voorbeeld
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"
U kunt meer leren over Block Scope in het hoofdstuk: JavaScript Scope .
Arrays opnieuw declareren
Het opnieuw declareren van een array gedeclareerd met var
is overal in een programma toegestaan:
Voorbeeld
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
Het opnieuw declareren of opnieuw toewijzen van een array aan const
, in hetzelfde bereik, of in hetzelfde blok, is niet toegestaan:
Voorbeeld
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
Het opnieuw declareren of opnieuw toewijzen van een bestaande const
array, in hetzelfde bereik of in hetzelfde blok, is niet toegestaan:
Voorbeeld
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
}
Het opnieuw declareren van een array met const
, in een ander bereik of in een ander blok is toegestaan:
Voorbeeld
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
Volledige matrixreferentie
Ga voor een volledige array-referentie naar onze:
Volledige JavaScript-arrayreferentie .
De referentie bevat beschrijvingen en voorbeelden van alle array-eigenschappen en -methoden.