Tutoriel JavaScript

JS ACCUEIL Présentation de JS JS Où aller Sortie JS Déclarations JS Syntaxe JS Commentaires JS Variables JS JS Let Const JS Opérateurs JS Arithmétique JS Affectation JS Types de données JS Fonctions JavaScript Objets JS Événements JS Chaînes JS Méthodes de chaîne JS Recherche de chaîne JS Modèles de chaîne JS Numéros JS Méthodes de nombre JS Tableaux JS Méthodes de tableau JS Tri de tableau JS Itération de tableau JS Const tableau JS Dates JS Formats de date JS Méthodes d'obtention de date JS Méthodes de définition de date JS JS Mathématiques JS Aléatoire Booléens JS Comparaisons JS Conditions JS Commutateur JS Boucle JS pour Boucle JS pour dans Boucle JS pour de Boucle JS pendant Pause JS Itérables JS Ensembles JS Cartes JS Type de JS Conversion de type JS JS au niveau du bit JS RegExp Erreurs JS Portée JS JS Levage Mode JS strict JS ce mot clé Fonction flèche JS Cours JS JSJSON Débogage JS Guide de style JS Meilleures pratiques JS Erreurs JS Performances JS Mots réservés JS

Versions JavaScript

Versions JavaScript JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Historique JS

Objets JS

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

Fonctions JavaScript

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

Cours JS

Introduction de classe Héritage de classe Classe Statique

JS asynchrone

Rappels JS JS asynchrone JS promet JS asynchrone/en attente

JS HTML DOM

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

Nomenclature du navigateur JS

Fenêtre JS Écran JavaScript Emplacement JS Historique JS Navigateur JS Alerte contextuelle JS Calendrier JS Cookies JavaScript

API Web JS

Présentation de l'API Web API des formulaires Web API d'historique Web API de stockage Web API de travail Web API de récupération Web API de géolocalisation Web

JS AJAX

Introduction à AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

JSJSON

Présentation JSON Syntaxe JSON JSON contre XML Types de données JSON Analyse JSON Chaîne JSON Objets JSON Tableaux JSON Serveur JSON JSON PHP HTML JSON JSON JSONP

JS contre jQuery

Sélecteurs jQuery jQuery HTML jQuery CSS jQuery DOM

Graphiques JS

Graphiques JS Canevas JS JS Complot JS Chart.js Graphique Google JS JS D3.js

Exemples JS

Exemples JS JS HTML DOM Entrée HTML JS Objets HTML JS Événements HTML JS Navigateur JS Éditeur JavaScript Exercices JS Questionnaire JS Certificat JS

Références JavaScript

Objets JavaScript Objets DOM HTML


Const JavaScript

Le constmot-clé a été introduit dans ES6 (2015) .

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

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

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

Ne peut pas être réaffecté

Une constvariable ne peut pas être réaffectée :

Exemple

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

Doit être attribué

Les variables JavaScript constdoivent être valorisées lors de leur déclaration :

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 constsauf si vous savez que la valeur va changer.

À utiliser constlorsque vous déclarez :

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

Objets constants et tableaux

Le mot-clé constest un peu trompeur.

Il ne définit pas une 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 constant
  • Réaffecter un objet constant

    Mais tu peux:

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

Tableaux constants

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

Exemple

// 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");

Mais vous ne pouvez PAS réaffecter le tableau :

Exemple

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

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Objets constants

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

Exemple

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

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

Prise en charge du navigateur

Le constmot-clé 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 avec prise en charge complète du mot- constclé :

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 constest similaire let à Block Scope .

Le x déclaré dans le bloc, dans cet exemple, n'est pas le même que le x déclaré en dehors du bloc :

Exemple

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

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 JavaScript varest autorisée n'importe où dans un programme :

Exemple

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

La re-déclaration d'une variable varou existante à , dans la même portée, n'est pas autorisée :letconst

Exemple

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

La réaffectation d'une variable existante const, dans le même périmètre, n'est pas autorisée :

Exemple

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

Redéclarer une variable avec const, dans une autre portée, ou dans un autre bloc, est autorisé :

Exemple

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Levage constant

Les variables définies avec varsont hissées en 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 acceptable:

carName = "Volvo";
var carName;

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

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

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

Exemple

alert (carName);
const carName = "Volvo";