Maison > interface Web > js tutoriel > Quelles sont les différences entre les syntaxes de déclaration de variables JavaScript « var », « let » et « const » ?

Quelles sont les différences entre les syntaxes de déclaration de variables JavaScript « var », « let » et « const » ?

Mary-Kate Olsen
Libérer: 2024-11-30 10:07:12
original
1029 Les gens l'ont consulté

What are the Differences Between JavaScript's `var`, `let`, and `const` Variable Declaration Syntaxes?

Syntaxes de déclaration de variables en JavaScript

JavaScript fournit plusieurs syntaxes pour déclarer des variables dans la portée globale. Cependant, ces syntaxes présentent des différences subtiles dans leurs comportements et leurs implications pour l'objet global. Examinons chaque syntaxe en détail :

1. var a = 0;

Déclarer une variable à l'aide de var crée une variable globale qui est également une propriété de l'objet global (window ou globalThis). Cela signifie qu'il devient accessible dans toute la base de code et ne peut pas être supprimé à l'aide de delete.

1.1 let a = 0 ; (ES2015 et versions ultérieures)

Cette syntaxe introduit une variable globale qui n'est pas une propriété de l'objet global. Il crée une liaison d'identifiant dans l'enregistrement d'environnement déclaratif de l'environnement global. Cette variable est accessible dans la portée globale mais ne pollue pas l'espace de noms global.

1.2 const a = 0; (ES2015 et versions ultérieures)

Déclarer une constante globale avec const est similaire à let, mais cela impose l'immuabilité. La valeur de la constante ne peut pas être modifiée une fois attribuée, et toute tentative de la réaffecter entraînera une erreur d'exécution.

2. a = 0;

Attribuer une valeur à une variable sans la déclarer explicitement (par exemple, var, let, const) crée une variable globale par défaut, mais cette pratique est fortement déconseillée. C'est une source potentielle de bugs et de pollution de l'espace de noms global.

3. window.a = 0;

Cette syntaxe attribue explicitement une valeur à la propriété 'a' de l'objet global (fenêtre). C'est similaire à l'utilisation de var mais nécessite un accès explicite à l'objet global.

4. this.a = 0;

Dans la portée globale, this fait référence à l'objet global (fenêtre). Par conséquent, cette syntaxe est équivalente à window.a = 0;.

Quand les variables sont définies et accessibles

  • var: var les liaisons sont définies avant toute exécution de code, ce qui leur permet d'être hissées au sommet de leur portée.
  • laissez et const: les liaisons let et const sont créées avant l'exécution du code, mais elles ne sont pas accessibles tant que l'instruction let ou const n'est pas atteinte (la zone morte temporelle).

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal