Avatar ·

Was ist der Unterschied zwischen let und var in JavaScript? Erklären Sie anhand von Beispielen

Hallo! Ich habe angefangen, JavaScript zu lernen, und bin auf Verwirrung gestoßen. Ich weiß, dass früher alle Variablen mit `var` deklariert haben, aber jetzt wird in modernen Tutorials `let` empfohlen. Anscheinend machen beide dasselbe — sie erstellen Variablen. Aber wenn ich Code schreibe, verhalten sie sich unterschiedlich. Hier ist ein Beispiel, das mich verwirrt hat: ```javascript var x = 10; if (true) { var x = 20; // Ich dachte, das sei eine neue Variable console.log(x); // 20 } console.log(x); // 20 — warum nicht 10? ``` Wenn ich `var` durch `let` ersetze: ```javascript let x = 10; if (true) { let x = 20; console.log(x); // 20 } console.log(x); // 10 — und hier 10, wie erwartet ``` Warum passiert das? Und ich habe auch von "Hoisting" gehört — hat das auch damit zu tun? Bitte erklären Sie für einen Anfänger, wann man `let` und wann `var` verwenden sollte, und was die wichtigsten Unterschiede sind. Es ist wichtig für mich, das zu verstehen, um in Zukunft keine Fehler zu machen. <<>>

Hauptunterschiede: Gültigkeitsbereich, Hoisting und erneute Deklaration