Maison interface Web js tutoriel La différence entre var let const dans js

La différence entre var let const dans js

May 01, 2024 am 07:54 AM
作用域

var, let et const sont des mots-clés pour déclarer des variables en JavaScript, avec différentes portées, zones mortes transitoires, redéclarations, portée de bloc, complexité temporelle et utilisations. var est déclaré dans la portée globale ou fonctionnelle, il n'y a pas de zone morte temporaire, les déclarations répétées sont autorisées et la vitesse est lente ; let est déclaré dans la portée au niveau du bloc, il y a une zone morte temporaire, la réaffectation est autorisée et le la vitesse est rapide ; const est également au niveau du bloc. La déclaration de portée est une constante, ne permet pas la réaffectation et est plus rapide.

La différence entre var let const dans js

La différence entre var, let et const en JavaScript

var, let et const sont des mots-clés pour déclarer des variables en JavaScript, et il existe des différences clés entre eux.

1. Portée

  • var : Déclarées dans la portée globale ou la portée de la fonction, les variables de la portée globale sont accessibles n'importe où ; les variables de la portée de la fonction ne sont valides que dans la fonction.
  • let : est déclarée dans une portée au niveau du bloc. La portée au niveau du bloc peut être un bloc de code, une fonction ou une boucle. Les variables déclarées par let ne sont valides que dans la portée au niveau du bloc.
  • const :  est également déclaré dans la portée au niveau du bloc. Les variables déclarées comme const sont des constantes et ne peuvent pas être réaffectées.

2. Zone morte temporaire (TDZ)

  • var : Il n'y a pas de zone morte temporaire et les variables sont accessibles avant qu'elles ne soient déclarées.
  • let, const : Il y a une zone morte temporaire, la variable n'est accessible qu'après sa déclaration, sinon une erreur sera signalée.

3. Re-déclaration

  • var : peut être déclarée à plusieurs reprises, mais une seule variable portant le même nom peut exister.
  • let, const : ne peut pas être déclaré à plusieurs reprises, une erreur sera signalée.

4. Portée au niveau du bloc

  • var : La portée au niveau du bloc n'est pas prise en charge.
  • let, const : Prise en charge de la portée au niveau du bloc, ce qui peut empêcher efficacement les conflits de variables.

5. Complexité temporelle

  • var : La vitesse de recherche est plus lente car toute la portée doit être parcourue.
  • let, const : La vitesse de recherche est plus rapide car il suffit d'effectuer une recherche dans la portée actuelle au niveau du bloc.

6. Objectif

  • var : Convient aux variables qui doivent être déclarées dans la portée globale ou la portée de la fonction.
  • let :  convient aux variables qui doivent être déclarées dans la portée au niveau du bloc et permet la réaffectation.
  • const : Applicable aux variables qui doivent être déclarées comme constantes, c'est-à-dire que la réaffectation n'est pas autorisée.

Résumé

  • var : Portée globale/fonction, permet des déclarations répétées, lente.
  • let : Portée au niveau du bloc, permettant une réaffectation rapide.
  • const : Portée au niveau du bloc, constante, aucune réaffectation autorisée, rapide.

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!

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

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utilisation de la structure typedef en langage C Utilisation de la structure typedef en langage C May 09, 2024 am 10:15 AM

Utilisation de la structure typedef en langage C

Comment résoudre la variable attendue en Java Comment résoudre la variable attendue en Java May 07, 2024 am 02:48 AM

Comment résoudre la variable attendue en Java

Avantages et inconvénients des fermetures en js Avantages et inconvénients des fermetures en js May 10, 2024 am 04:39 AM

Avantages et inconvénients des fermetures en js

Que signifie inclure en C++ Que signifie inclure en C++ May 09, 2024 am 01:45 AM

Que signifie inclure en C++

Pointeurs intelligents C++ : une analyse complète de leur cycle de vie Pointeurs intelligents C++ : une analyse complète de leur cycle de vie May 09, 2024 am 11:06 AM

Pointeurs intelligents C++ : une analyse complète de leur cycle de vie

Il existe plusieurs situations dans lesquelles cela indique en js Il existe plusieurs situations dans lesquelles cela indique en js May 06, 2024 pm 02:03 PM

Il existe plusieurs situations dans lesquelles cela indique en js

Les définitions de fonctions et les appels en C++ peuvent-ils être imbriqués ? Les définitions de fonctions et les appels en C++ peuvent-ils être imbriqués ? May 06, 2024 pm 06:36 PM

Les définitions de fonctions et les appels en C++ peuvent-ils être imbriqués ?

Comment les fermetures sont-elles implémentées en Java ? Comment les fermetures sont-elles implémentées en Java ? May 03, 2024 pm 12:48 PM

Comment les fermetures sont-elles implémentées en Java ?

See all articles