Différence entre let et var en JavaScript

En Javascript, vous devez déclarer les variables contenant des données auxquelles vous aurez besoin d’accéder ultérieurement pour pouvoir les utiliser dans votre programme. Vous avez le choix entre deux moyens pour atteindre cet objectif.
 
 
Vous pouvez définir votre variable en utilisant var ou let. Les résultats du code ci-dessous constituent une bonne introduction aux différences entre ces deux mots clés, mais nous allons tenter de mieux comprendre leurs différences et de savoir pourquoi l’un est meilleur que l’autre.

var banana = 'yellow';
var apple = 'red';

if (apple === 'red') {
     var banana = 'black';    // la portée est globale
     let apple = 'green';       // la portée est à l'intérieur du bloc if
     echo banana;    // black
     echo apple;     // green
}

echo banana;    // black
echo apple;     // red

La différence est la portée. On peut dire qu’une variable déclarée avec var est définie dans tout le programme par rapport à let.
Différence entre Undefined et Null en Javascript

let str1 = 'Hello';     // portée globale
var str2 = 'World!';   // portée globale

Les variables globales définies avec let ne seront pas ajoutées en tant que propriétés sur l’objet de window global, contrairement à celles définies avec var.

console.log(window.str1); // undefined
console.log(window.str2); // 'World!'

Redéclarer une variable avec le mot-clé let nous empêche de le faire car il génère une erreur, alors que c’est possible avec le mot-clé var.

let name = 'Alex';
let name = 'Bob'; //Uncaught SyntaxError: Identifier 'name' has already been declared

 

Conclusion

var est utilisé pour déclarer une variable globale alors que let est utilisé pour déclarer une variable dont la portée est limitée à un bloc. Ainsi, vous pouvez déclarer une variable à l’aide de let dans un bloc if mais sa portée est limitée à ce bloc.Vous pouvez même déclarer plusieurs variables portant le même nom à l’intérieur et à l’extérieur d’un bloc à l’aide du mot-clé let.
QCM Javascript

2 réflexions sur “Différence entre let et var en JavaScript

  • mai 4, 2021 à 2:33 pm
    Permalien

    Salut,
    Merci pour cette explication.

    En termes de gestion mémoire quelle déclaration de variables et à privilégier s’il y en a une façon de faire à privilégier?
    J’ai entendu que let était plus gourmand en ressources mais trouvé ça nulle part expliqué, légende urbaine?

    Répondre
    • mai 31, 2021 à 3:41 pm
      Permalien

      Oui, c’est vrai, let est beaucoup plus lent que var.

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *