MEILLEUR SITE POUR LES DÉVELOPPEURS WEB

Basic JavaScript

JS Tutorial JS Syntax JS Variables JS Operators JS If Conditions JS Loops JS Strings JS Numbers JS Functions JS Objects JS Dates JS Arrays JS Sets JS Maps JS Math JS RegExp JS Data Types JS Errors JS Debugging JS Events JS Programming JS References JS UTF-8 Characters

JS Advanced

JS Versions JS Functions JS Objects JS Classes JS Iterations JS Promises JS Modules JS HTML DOM JS Windows JS Web API JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Objects

JavaScript. W3Schools en français. Cours pour débutants

En Ua Es De Ru

JavaScript Mot-clé Const

Le mot clé const a été introduit dans ES6 (2015).

Les variables définies avec const ne peuvent pas être redéclarées.

Les variables définies avec const ne peuvent pas être réaffectées.

Les variables définies avec const ont une portée de bloc.

Ne peut pas être réaffecté

Une variable const ne peut pas être réaffectée :

Exemple

const PI = 3.141592653589793;
PI = 3.14;      // Cela donnera une erreur
PI = PI + 10;   // Cela donnera également une erreur
Try it Yourself »

Doit être attribué

Les variables JavaScript const doivent se voir attribuer une valeur lorsqu'elles sont déclarées :

Correct

const PI = 3.14159265359;

Incorrect

const PI;
PI = 3.14159265359;

Quand utiliser JavaScript const ?

En règle générale, déclarez toujours une variable avec const sauf si vous savez que la valeur va changer.

Utilisez const lorsque vous déclarez :

  • Un nouveau tableau
  • Un nouvel objet
  • Une nouvelle fonction
  • Une nouvelle RegExp

Objets et tableaux constants

Le mot clé const est un peu trompeur.

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

Pour cette raison, vous ne pouvez PAS :

  • Réaffecter une valeur constante
  • Réaffecter un tableau de constantes
  • Réaffecter un objet constant

Mais vous POUVEZ :

  • Changer les éléments du tableau constant
  • Modifier les propriétés d'un objet constant

Tableaux constants

Vous pouvez modifier les éléments d'un tableau constant :

Exemple

// Vous pouvez créer un tableau constant :
const cars = ["Saab", "Volvo", "BMW"];

// Vous pouvez modifier un élément :
cars[0] = "Toyota";

// Vous pouvez ajouter un élément :
cars.push("Audi");
Try it Yourself »

Mais vous ne pouvez PAS réaffecter le tableau :

Exemple

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR
Try it Yourself »

Objets constants

Vous pouvez modifier les propriétés d'un objet constant :

Exemple

// Vous pouvez créer un objet const :
const car = {type:"Fiat", model:"500", color:"white"};

// Vous pouvez modifier une propriété :
car.color = "red";

// Vous pouvez ajouter une propriété :
car.owner = "Johnson";
Try it Yourself »

Mais vous ne pouvez PAS réaffecter l'objet :

Exemple

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR
Try it Yourself »

Prise en charge du navigateur

Le mot-clé const n'est pas pris en charge dans Internet Explorer 10 ou version antérieure.

Le tableau suivant définit les premières versions de navigateur prenant entièrement en charge le mot-clé const :

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016

Portée du bloc

Déclarer une variable avec const est similaire à let en ce qui concerne la Portée du bloc.

Le x déclaré dans le bloc, dans cet exemple, n'est pas le même que le x déclaré à l'extérieur du bloc :

Exemple

const x = 10;
// Ici x vaut 10

{
const x = 2;
// Ici x vaut 2
}

// Ici x vaut 10
Try it Yourself »

Vous pouvez en savoir plus sur la portée des blocs dans le chapitre Portée JavaScript.


Redéclarer

La redéclaration d'une variable var JavaScript est autorisée n'importe où dans un programme :

Exemple

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

Redéclarer une variable var ou let existante en const, dans le même périmètre, n'est pas autorisé :

Exemple

var x = 2;     // Autorisé
const x = 2;   // Non autorisé

{
let x = 2;     // Autorisé
const x = 2;   // Non autorisé
}

{
const x = 2;   // Autorisé
const x = 2;   // Non autorisé
}

La réaffectation d'une variable const existante, dans la même portée, n'est pas autorisée :

Exemple

const x = 2;     // Autorisé
x = 2;           // Non autorisé
var x = 2;       // Non autorisé
let x = 2;       // Non autorisé
const x = 2;     // Non autorisé

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

La redéclaration d'une variable avec const, dans une autre portée, ou dans un autre bloc, est autorisée :

Exemple

const x = 2;       // Autorisé

{
  const x = 3;   // Autorisé
}

{
  const x = 4;   // Autorisé
}

Const Levage

Les variables définies avec var sont hissées vers le haut et peuvent être initialisées à tout moment.

Signification : Vous pouvez utiliser la variable avant qu'elle ne soit déclarée :

Exemple

C'est OK :

carName = "Volvo";
var carName;
Try it Yourself »

Si vous souhaitez en savoir plus sur le levage, étudiez le chapitre Levage JavaScript.

Les variables définies avec const sont également hissées en haut, mais pas initialisées.

Signification : L'utilisation d'une variable const avant qu'elle ne soit déclarée entraînera un ReferenceError:

Exemple

alert (carName);
const carName = "Volvo";
Try it Yourself »


Commentaires