MEILLEUR SITE POUR LES DÉVELOPPEURS WEB

JS Tutoriel

JS MAISON JS Introduction JS Où aller JS Sortir JS Déclarations JS Syntaxe JS Commentaires JS Variables JS Let JS Const JS Opérateurs JS Arithmétique JS Devoir JS Types de données JS Fonctions JS Objets JS Événements JS Chaînes JS Méthodes de chaîne JS Recherché de chaîne JS Modèles de chaînes JS Nombres JS Méthodes numériques JS Tableaux JS Méthodes de tableau JS Tri de tableau JS Itération de tableau JS Const. de tableau JS Dates JS Formats de dates JS Méthodes d'obtention de date JS Méthodes de définition de dates JS Math JS Mathématiques JS Booléens JS Comparaisons JS If Else JS Switch JS Boucle For JS Boucle For In JS Boucle For Of JS Boucle While JS Break JS Itérables JS Ensembles JS Cartes JS Typeof JS Conversion de types JS Au niveau du bit JS RegExp JS Errors JS Portée JS Levage JS Mode strict JS this Mot clé JS Fonction flèche JS Cours JS Modules JS JSON JS Débogage JS Guide de style JS Meilleures pratiques JS Erreurs JS Performance JS Mots réservés

JS Versions

JS Versions JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS 2019 JS 2020 JS 2021/2022 JS IE / Edge JS Histoire

JS Objets

Définitions d'objets Propriétés de l'objet Méthodes d'objet Affichage des objets Accesseurs d'objet Constructeurs d'objets Prototypes d'objets Itérables d'objet Ensembles d'objets Cartes d'objets Référence d'objet

JS Fonctions

Définitions des fonctions Paramètres de fonction Invocation de fonction Appel de fonction Fonction Appliquer Fonction Liaison Fermetures de fonctions

JS Cours

Introduction au cours Héritage de classe Classe statique

JS Asynchrone

JS Rappels JS asynchrone JS Promesses JS Async/Await

JS HTML DOM

DOM Intro DOM Méthodes DOM Document DOM Éléments DOM HTML DOM Formulaires DOM CSS DOM Animations DOM Événements DOM Écouteur d'événements DOM Navigation DOM Nœuds DOM Collections DOM Listes de nœuds

JS Browser BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Web APIs

Web API Intro Formulaires Web API Historique Web API Stockage Web API Travailleur Web API Récupération Web API Géolocalisation Web API

JS AJAX

AJAX Intro AJAX XMLHttp AJAX Demande AJAX Réponse AJAX XML Déposer AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples

JS JSON

JSON Intro JSON Syntaxe JSON vs XML JSON Types de données JSON Analyser JSON Stringifier JSON Objets JSON Tableaux JSON Serveur JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery Sélecteurs jQuery HTML jQuery CSS jQuery DOM

JS Graphique

JS Graphique JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS Exemples

JS Exemples JS HTML DOM JS HTML Input JS HTML Objets JS HTML Événements JS Browser JS Éditeur JS Exercices JS Questionnaire JS Camp d'entraînement JS Certificat

JS Références

JavaScript Objets HTML DOM Objets

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

En Ua Es De

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