Quelle est la différence entre let et var en JavaScript ? Expliquez avec des exemples
Bonjour ! J'ai commencé à apprendre JavaScript et je suis confronté à une confusion. Je sais qu'avant, tout le monde déclarait les variables avec `var`, mais maintenant, dans les tutoriels modernes, on recommande `let`. Apparemment, les deux font la même chose — créer des variables. Mais quand j'écris du code, ils se comportent différemment.
Voici un exemple qui m'a dérouté :
```javascript
var x = 10;
if (true) {
var x = 20; // Je pensais que c'était une nouvelle variable
console.log(x); // 20
}
console.log(x); // 20 — pourquoi pas 10 ?
```
Si je remplace `var` par `let` :
```javascript
let x = 10;
if (true) {
let x = 20;
console.log(x); // 20
}
console.log(x); // 10 — et ici 10, comme attendu
```
Pourquoi cela se produit-il ? Et j'ai aussi entendu parler de "hoisting" — est-ce que c'est lié ? Expliquez, s'il vous plaît, pour un débutant, quand utiliser `let` et quand utiliser `var`, et quelles sont les différences clés. Il est important pour moi de comprendre cela pour éviter les erreurs à l'avenir.
<<>>