Quelle est la différence entre Var, Let et Const en Javascript

Feb 13 2023
On me l'a demandé lors d'un entretien. À ce moment-là, je savais que cela avait quelque chose à voir avec la portée, mais je ne pouvais pas l'expliquer clairement et que var provenait de ES5, tandis que let et const correspondaient à ES6, qui n'est que la version la plus récente de Javascript.

On me l'a demandé lors d'un entretien. À ce moment-là, je savais que cela avait quelque chose à voir avec la portée, mais je ne pouvais pas l'expliquer clairement et que var provenait de ES5, tandis que let et const correspondaient à ES6, qui n'est que la version la plus récente de Javascript. J'ai donc décidé de revoir les principes fondamentaux de Javascript et de voir si je peux mettre ce que j'apprends dans mes propres mots.

Var Vs Soit Vs Const

Alors, quelle est la différence entre les 3 et pourquoi est-ce important ? En plus d'être testé à ce sujet lors d'un entretien, cela peut vous donner des conséquences inattendues lors du codage. Var n'a pas de portée de bloc, contrairement à Let et Const. La portée du bloc est le code que vous voyez à l'intérieur de { } et les choses en dehors des crochets ne peuvent pas accéder aux choses à l'intérieur. Il est facile de voir avec des exemples

Voici un exemple utilisant Var

Selon vous, qu'est-ce qui sera enregistré à partir de la console ?

Si votre réponse est Albert deux fois, vous avez raison. Étant donné que Var n'a pas de portée de bloc, la variable de nom a été remplacée par Albert à la ligne 4 et le fichier console.log aux lignes 5 et 8 fait référence à la ligne 4.

Comparer avec l'utilisation de Let et Const

Pourquoi la console let et const a-t-elle enregistré à la fois Albert et Sam au lieu de juste Albert. Cela a à voir avec la façon dont les données sont référencées en mémoire. Pensez au nom de la ligne 4, une nouvelle mémoire est créée pour let et const et ne peut pas y accéder en dehors des crochets alors que var name de la ligne 4 fait référence au nom de la ligne 1.

Voici un exemple pour aider à le rendre plus clair

Comme vous pouvez le voir, puisque var n'a pas de portée de bloc, il a accès à l'intérieur des crochets, mais laissez et const le faire, il ne peut pas être accessible en dehors des crochets. Donc, revenir à l'exemple précédent des lignes 1 et 4 utilisant var name fait référence aux mêmes variables de nom, les lignes let et const 1 et 4 font référence à 2 variables de nom différentes. J'entrerai plus en détail lorsque je parlerai de passage par valeur vs passage par référence .

De plus, une différence principale entre let et const est que vous pouvez réaffecter des valeurs à let mais pas à const.

Voici un exemple ci-dessous

Comme vous pouvez le voir lors de l'utilisation de let, vous pouvez modifier les données en n'importe quoi après avoir déclaré la variable.

Comparé à const où vous ne pouvez pas modifier les données une fois que vous les avez déclarées. Cela aide à prévenir certaines conséquences involontaires en utilisant const.

Une bonne règle empirique pour savoir quand utiliser let vs const est que si vous savez que les données peuvent changer, par exemple un score, utilisez let. S'il est peu probable que les données changent, utilisez const.

J'espère donc que cela vous aidera à renforcer votre compréhension de var, let et const. Essayez-le vous-même sur un environnement de développement intégré (IDE), j'ai utiliséhttps://replit.com/~un IDE Web pour aider à écrire cet article.