Avatar ·

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. <<>>

Principales différences : scope, hoisting et redéclaration