Contenu du cours
Apprendre le Javascript
À propos de la leçon

Les variables en JavaScript sont des conteneurs pour stocker des données. Elles jouent un rôle crucial dans les programmes, permettant de manipuler et de conserver des valeurs tout au long de l’exécution d’un script. JavaScript offre plusieurs manières de déclarer des variables, et chacune a ses propres caractéristiques et utilisations.

 

Déclaration des Variables

JavaScript fournit trois façons principales de déclarer des variables : var, let, et const.

 

1. var

Historique : Introduit dans les premières versions de JavaScript. Avant ES6 (ECMAScript 2015), var était la seule méthode pour déclarer des variables.

Portée (Scope) : La portée de var est fonctionnelle ou globale. Cela signifie que les variables déclarées avec var sont accessibles dans toute la fonction où elles ont été définies ou dans tout le script si elles sont définies globalement.

Hoisting : Les variables déclarées avec var sont “hoisted” (remontées) au début de leur portée. Cela signifie que vous pouvez les utiliser avant leur déclaration dans le code.

console.log(x); // undefined
var x = 5;
console.log(x); // 5

 

2. let

Introduction : Introduit en ES6 pour résoudre certains problèmes avec var.

Portée (Scope) : La portée de let est le bloc où elle est définie (déclaration dans des blocs {} comme dans les boucles ou les conditions).

Hoisting : Les variables déclarées avec let sont également hoisted, mais ne sont pas initialisées. Accéder à ces variables avant leur déclaration entraîne une erreur.

// Exemple de portée de bloc
if (true) {
    let y = 10;
    console.log(y); // 10
}
console.log(y); // Erreur : y is not defined

 

3. const

Introduction : Introduit en ES6 pour les variables dont la valeur ne doit pas changer après leur initialisation.

Portée (Scope) : La portée est le bloc où elle est définie, tout comme avec let.

Hoisting : Comme let, les variables déclarées avec const sont hoisted mais ne sont pas initialisées.

const z = 15;
console.log(z); // 15
z = 20; // Erreur : Assignment to constant variable
Participer à la discussion
0% Terminer