Comprendre la zone morte temporelle en javascript
Tout en travaillant avec JavaScript, vous pouvez rencontrer le terme "zone morte temporelle" lorsque l'accès aux variables déclarées déclarées avec let et const avant leur initialisation. Cela peut conduire à une référence, vous laissant vous gratter la tête.
La zone morte temporelle
La zone morte temporelle est une période dans l'exécution d'un blocage en bloc variable (déclarée avec LET ou const) lorsque la variable n'est pas encore définie. Cette période non définie existe à partir du moment où la variable est déclarée au point où son initialisation est traitée. ont une portée limitée au bloc dans lequel ils sont définis. L'hisson, qui est le mécanisme de l'interprète JavaScript de déplacement des déclarations en haut de leur portée, ne s'applique pas aux variables de LET et Const. Il en résulte la création d'une zone morte temporelle, où la variable est déjà déclarée mais reste inaccessible. La zone lance une perception de référence. Voici un exemple:
console.log (avar); // indéfini Console.log (Alet); // ReferenceError: Impossible d'accéder à la 'Alet' avant l'initialisation var avar = 1; LET ALET = 2; Dans ce code, Avar, déclaré avec var, peut être accessible avant l'initialisation, tandis que Alet, déclaré avec LET, ne peut pas. En effet, Avar est hissé, mais Alet n'est pas.
Situations rencontrées
Vous pouvez rencontrer la zone morte temporelle dans les situations suivantes:
accéder à des variables à vitesses de bloc avant d'être initialisées.
console.log(aVar); // undefined console.log(aLet); // ReferenceError: Cannot access 'aLet' before initialization var aVar = 1; let aLet = 2;nidification des variables à espèces de blocs dans d'autres blocs.
en utilisant des expressions de fonction immédiatement invoquées (iifes) avec des variables déclarées à l'intérieur de la fonction.
Évitement
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3