Maison >interface Web >js tutoriel >Comment « let » affecte-t-il le comportement de la boucle For et la portée des variables en JavaScript ?
Comprendre la portée de let et de bloc avec les boucles For
let évite les déclarations en double et permet d'utiliser des variables dans les fermetures. Cependant, son application aux boucles for peut être quelque peu déroutante. Dans ce contexte, let enferme chaque itération dans un nouvel environnement lexical, liant la variable de boucle à sa propre portée distincte.
Considérez le code suivant :
// prints '10' 10 times for (var i = 0; i < 10; i++) { process.nextTick(_ => console.log(i)) } // prints '0' through '9' for (let i = 0; i < 10; i++) { process.nextTick(_ => console.log(i)) }
Dans la première boucle, var est utilisé, ce qui crée une variable globale. Par conséquent, chaque itération de la boucle accède à la même variable globale i, ce qui donne la sortie « 10 » dix fois.
Dans la deuxième boucle, let est utilisé, créant une nouvelle portée de bloc pour chaque itération. Cela signifie que chaque itération a sa propre variable i distincte, isolée des autres. Par conséquent, la sortie affiche de « 0 » à « 9 ».
Ce mécanisme est plus qu'un simple sucre syntaxique. Cela implique de créer un environnement lexical unique pour chaque itération, en sauvegardant la variable de boucle dans sa portée exclusive.
Pour illustrer, le code « désucré » de la boucle var se développe en une simple séquence linéaire d'étapes. En revanche, le code « désucré » pour la boucle let introduit des blocs entre accolades pour délimiter explicitement la portée de chaque itération, reflétant l'environnement lexical distinct de chaque itération.
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!