Const de tableau JavaScript
ECMAScript 2015 (ES6)
En 2015, JavaScript a introduit un nouveau mot-clé important : const .
Il est devenu courant de déclarer des tableaux en utilisant const :
Exemple
const cars = ["Saab", "Volvo", "BMW"];
Ne peut pas être réaffecté
Un tableau déclaré avec const ne peut pas être réaffecté :
Exemple
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERREUR Les tableaux ne sont pas des constantes
Le mot-clé const peut prêter à confusion.
Il ne définit PAS un tableau constant, mais une référence constante à un tableau.
De ce fait, nous pouvons toujours changer les éléments d'un tableau déclaré avec const .
Les éléments peuvent être réaffectés
Vous pouvez changer les éléments d'un tableau constant :
Exemple
// Vous pouvez créer un tableau constant :
const cars = ["Saab", "Volvo", "BMW"];
// Vous pouvez changer un élément :
cars[0] = "Toyota";
// Vous pouvez ajouter un élément :
cars.push("Audi");
Assigné lors de la déclaration
Les variables JavaScript const doivent être assignées à une valeur lors de leur déclaration :
Cela signifie qu'un tableau déclaré avec const doit être initialisé au moment de sa déclaration.
Utiliser const sans initialiser le tableau entraîne une erreur de syntaxe :
Exemple
Cela ne fonctionnera pas :
const cars;
cars = ["Saab", "Volvo", "BMW"];
Les tableaux déclarés avec var peuvent être initialisés à tout moment.
Vous pouvez même utiliser le tableau avant qu'il ne soit déclaré :
Exemple
Cela est OK :
cars = ["Saab", "Volvo", "BMW"];
var cars; Portée de bloc de const
Un tableau déclaré avec const a une portée de bloc .
Un tableau déclaré dans un bloc n'est pas le même qu'un tableau déclaré en dehors de ce bloc :
Exemple
const cars = ["Saab", "Volvo", "BMW"];
// Ici cars[0] est "Saab"
{
const cars = ["Toyota", "Volvo", "BMW"];
// Ici cars[0] est "Toyota"
}
// Ici cars[0] est "Saab" Un tableau déclaré avec var n'a pas de portée de bloc :
Exemple
var cars = ["Saab", "Volvo", "BMW"];
// Ici cars[0] est "Saab"
{
var cars = ["Toyota", "Volvo", "BMW"];
// Ici cars[0] est "Toyota"
}
// Ici cars[0] est "Toyota" Vous pouvez en savoir plus sur la portée de bloc dans le chapitre : Portée JavaScript .
Redéclaration des tableaux
La redéclaration d'un tableau déclaré avec var est autorisée n'importe où dans un programme :
Exemple
var cars = ["Volvo", "BMW"]; // Autorisé
var cars = ["Toyota", "BMW"]; // Autorisé
cars = ["Volvo", "Saab"]; // Autorisé
La redéclaration ou la réaffectation d'un tableau à const , dans la même portée ou dans le même bloc, n'est pas autorisée :
Exemple
var cars = ["Volvo", "BMW"]; // Autorisé
const cars = ["Volvo", "BMW"]; // Non autorisé
{
var cars = ["Volvo", "BMW"]; // Autorisé
const cars = ["Volvo", "BMW"]; // Non autorisé
} La redéclaration ou la réaffectation d'un tableau const existant, dans la même portée ou dans le même bloc, n'est pas autorisée :
Exemple
const cars = ["Volvo", "BMW"]; // Autorisé
const cars = ["Volvo", "BMW"]; // Non autorisé
var cars = ["Volvo", "BMW"]; // Non autorisé
cars = ["Volvo", "BMW"]; // Non autorisé
{
const cars = ["Volvo", "BMW"]; // Autorisé
const cars = ["Volvo", "BMW"]; // Non autorisé
var cars = ["Volvo", "BMW"]; // Non autorisé
cars = ["Volvo", "BMW"]; // Non autorisé
} La redéclaration d'un tableau avec const , dans une autre portée ou dans un autre bloc, est autorisée :
Exemple
const cars = ["Volvo", "BMW"]; // Autorisé
{
const cars = ["Volvo", "BMW"]; // Autorisé
}
{
const cars = ["Volvo", "BMW"]; // Autorisé
} Référence complète des tableaux
Pour une référence complète des tableaux, rendez-vous sur notre :
Référence complète des tableaux JavaScript
La référence contient des descriptions et des exemples de toutes les propriétés et méthodes des tableaux.