Différence : 1. La portée d'une variable let est dans le code au niveau du bloc où elle est définie, tandis que la portée d'une variable var est dans la portée de la fonction qui l'inclut. 2. Une variable let ne peut pas être déclarée à plusieurs reprises ; mais une variable var peut être répétée Instruction 3. L'analyse avant l'exécution du code initialisera la variable var à undefined, tandis que la variable let n'est pas initialisée.
L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.
let est un mot-clé nouvellement introduit dans ES6 pour améliorer divers problèmes causés par var.
Par rapport à var, il existe à peu près les différences suivantes entre let et var :
1. Portée
Pour les variables définies par let, la portée est le code au niveau du bloc dans lequel elle est définie et les enfants. inclus dans le bloc et les variables ne peuvent pas être ajoutées dans la portée globale.
La portée d'une variable définie via var est la portée de la fonction ou la portée globale qui l'inclut.
2. Déclaration répétée
Les variables définies via let ne peuvent pas être déclarées à plusieurs reprises dans la même portée.
Les variables définies via var sont déclarées à plusieurs reprises dans la même portée. Lors de la génération du contexte d'exécution, les déclarations suivantes seront ignorées.
3. Problèmes tels que la promotion causée par une zone morte temporaire
Nous savons qu'avant l'exécution du code, les variables déclarées par var dans tous les champs seront d'abord analysées et initialisées à non définies, puis le code le sera. être exécuté. C’est ce qu’on appelle le phénomène « d’ascension ».
Mais pour les variables déclarées avec let, c'est différent. L'analyse avant l'exécution du code "lève" également la variable let, mais ne la définit pas sur indéfinie. Bien que la variable définie par let ait été promue, la variable n'a pas été initialisée avant l'exécution du code qui l'initialise. Si elle est accessible à ce moment, une ReferenceError sera définie. Du début du bloc de code jusqu'à l'exécution jusqu'à la fin de l'initialisation de la variable let, la variable let a été déclarée mais est inaccessible. Cette période est appelée zone morte temporaire.
【Recommandations associées : tutoriel vidéo javascript, front-end web】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!