Const JavaScript

Recommandation de cours :

ECMAScript 2015let ES2015 a introduit deux nouveaux mots-clés importants en JavaScript : constet

par const . let Les variables définies sont similaires à

Exemple

const PI = 3.141592653589793;
PI = 3.14;      // Cela会产生错误
PI = PI + 10;   // Cela会产生错误

Essayez-le vous-même

dans

Les variables sont similaires, mais elles ne peuvent pas être réassignées :dansde bloc d'application const à l'intérieur let La variable déclarée est similaire à

Les variables sont similaires.

Exemple

Dans cet exemple, x est déclaré dans le bloc, ce qui est différent de x déclaré en dehors du bloc :
// Ici, x vaut 6
{ 
  var x = 10;
  const x = 6;
}
// Ici, x vaut 6

Essayez-le vous-même

// Ici, x vaut 10 Let JavaScript Nous avons appris plus sur le domaine d'application des blocs dans le chapitre précédent.

lors de la déclaration

JavaScript const Les variables doivent être assignées une valeur lors de leur déclaration :

Incorrect

const PI;
PI = 3.14159265359;

Correct

const PI = 3.14159265359;

Ce n'est pas une constante véritable

Mot-clé const Il est quelque peu trompeur.

Il ne définit pas la valeur constante. Il définit une référence constante à la valeur.

Par conséquent, nous ne pouvons pas modifier la valeur primitive de la constante, mais nous pouvons modifier les propriétés de l'objet constant.

Valeur primitive

Si nous assignons une valeur primitive à une constante, nous ne pouvons pas changer la valeur primitive :

Exemple

const PI = 3.141592653589793;
PI = 3.14;      // Cela会产生错误
PI = PI + 10;   // Cela会产生错误

Essayez-le vous-même

Les objets const peuvent être modifiés

Vous pouvez modifier les propriétés des objets const :

Exemple

// Vous pouvez créer des objets const :
const car = {type:"porsche", model:"911", color:"Black"};
// Vous pouvez modifier les propriétés :
car.color = "White";
// Vous pouvez ajouter des propriétés :
car.owner = "Bill";

Essayez-le vous-même

Mais vous ne pouvez pas réaffecter une valeur à un objet constant :

Exemple

const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"};    // ERREUR

Essayez-le vous-même

Les tableaux constants peuvent être modifiés

Vous pouvez modifier des éléments de tableau constant :

Exemple

// Vous pouvez créer un tableau constant :
const cars = ["Audi", "BMW", "porsche"];
// Vous pouvez modifier des éléments :
cars[0] = "Honda";
// Vous pouvez ajouter des éléments :
cars.push("Volvo");

Essayez-le vous-même

Mais vous ne pouvez pas réaffecter une valeur à un tableau constant :

Exemple

const cars = ["Audi", "BMW", "porsche"];
cars = ["Honda", "Toyota", "Volvo"];    // ERREUR

Essayez-le vous-même

Support du navigateur

Internet Explorer 10 et versions antérieures ne prennent pas en charge const Mots-clés.

Le tableau suivant définit la première version de navigateur qui prend en charge pleinement le mot-clé const :

Chrome 49 IE / Edge 11 Firefox 36 Safari 10 Opera 36
Mars 2016 Octobre 2013 Février 2015 Septembre 2016 Mars 2016

Redéclaration

Il est permis de redéclarer JavaScript à tout moment dans le programme var Variable :

Exemple

var x = 2;    // Autorisé
var x = 3;    // Autorisé
x = 4;        // Autorisé

Il n'est pas permis de redéclarer ou d'affecter une valeur à une variable existante dans le même domaine ou bloc : var ou let Redéclaration ou réaffectation d'une variable const:

Exemple

var x = 2;         // Autorisé
const x = 2;       // Interdit
{
  let x = 2;     // Autorisé
  const x = 2;   // Interdit
}

Il n'est pas permis de redéclarer ou d'affecter une valeur à une variable const existante dans le même domaine ou bloc :

Exemple

const x = 2;       // Permet
const x = 3;       // Interdit
x = 3;             // Interdit
var x = 3;         // Interdit
let x = 3;         // Interdit
{
  const x = 2;   // Autorisé
  const x = 3;   // Interdit
  x = 3;         // Interdit
  var x = 3;     // Interdit
  let x = 3;     // Interdit
}

redéclarer dans un autre domaine ou bloc const C'est autorisé :

Exemple

const x = 2;       // Permet
{
  const x = 3;   // Permet
}
{
  const x = 4;   // Permet
}

Hoisting

par var Les variables définies sontHoistingau sommet. Si vous ne comprenez pas ce qu'est le Hoisting, apprenez ce chapitre sur le Hoisting.

Vous pouvez utiliser une variable var avant sa déclaration :

Exemple

carName = "Volvo";    // Vous pouvez utiliser carName ici
var carName;

Essayez-le vous-même

par const Les variables définies ne sont pas

const Les variables ne peuvent pas être utilisées avant leur déclaration :

Exemple

carName = "Volvo";    // Vous ne pouvez pas utiliser carName ici
const carName = "Volvo";