Cost. matrice JavaScript
ECMAScript 2015 (ES6)
nel 2015 JavaScript ha introdotto una nuova importante parola chiave: const
.
È diventata una pratica comune dichiarare gli array usando const
:
Esempio
const cars = ["Saab", "Volvo", "BMW"];
Non può essere riassegnato
Un array dichiarato con const
non può essere riassegnato:
Esempio
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Gli array non sono costanti
La parola chiave const
è un po' fuorviante.
NON definisce un array costante. Definisce un riferimento costante a un array.
Per questo motivo, possiamo ancora modificare gli elementi di una matrice costante.
Gli elementi possono essere riassegnati
È possibile modificare gli elementi di un array costante:
Esempio
// 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");
Supporto browser
La const
parola chiave non è supportata in Internet Explorer 10 o versioni precedenti.
La tabella seguente definisce le prime versioni del browser con pieno supporto per la const
parola chiave:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Assegnato quando dichiarato
Alle variabili JavaScript const
deve essere assegnato un valore quando vengono dichiarate:
Significato: un array dichiarato con const
deve essere inizializzato quando viene dichiarato.
L'utilizzo const
senza inizializzare l'array è un errore di sintassi:
Esempio
Questo non funzionerà:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Gli array dichiarati con var
possono essere inizializzati in qualsiasi momento.
Puoi anche usare l'array prima che venga dichiarato:
Esempio
Questo va bene:
cars = ["Saab", "Volvo", "BMW"];
var cars;
Ambito del blocco di cost
Un array dichiarato con const
ha Block Scope .
Un array dichiarato in un blocco non è lo stesso di un array dichiarato al di fuori del blocco:
Esempio
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"
Un array dichiarato con var
non ha ambito di blocco:
Esempio
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"
Puoi saperne di più su Block Scope nel capitolo: JavaScript Scope .
Ridichiarazione di array
Ridichiarare un array dichiarato con var
è consentito ovunque in un programma:
Esempio
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
Non è consentito ridichiarare o riassegnare un array a const
, nello stesso ambito o nello stesso blocco:
Esempio
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
Non è consentito ridichiarare o riassegnare un const
array esistente, nello stesso ambito o nello stesso blocco:
Esempio
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
}
È consentito dichiarare nuovamente un array con const
, in un altro ambito o in un altro blocco:
Esempio
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
Riferimento completo all'array
Per un riferimento completo all'array, vai al nostro:
Riferimento completo all'array JavaScript .
Il riferimento contiene descrizioni ed esempi di tutte le proprietà e i metodi dell'array.