Quelle est la différence entre let et var dans es6

WBOY
Libérer: 2022-03-31 15:39:53
original
2397 Les gens l'ont consulté

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.

Quelle est la différence entre let et var dans es6

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

Quelle est la différence entre let et var dans es6 ?

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!

Étiquettes associées:
es6
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal