Ich kenne die diesbezüglichen Beschreibungen aus JS-Büchern und zahllosen Webseiten, aber ich habe das Gefühl, die haben alle nur von einander abgeschrieben und ich verstehe den Unterschied nicht wirklich. Der Unterschied soll in der Verfügbarkeit als globale und lokale Variable liegen. Ich weiss, was der Unterschied zwischen global und lokal ist, darüber müssen wir nicht diskutieren. Aber wenn ich einen praktischen Test mache, kann ich bei der Verwendung von var und let keinerlei Unterschied entdecken. Wo ist das Detail, das ich übersehe?
1 | <script> |
2 | var a = 1; |
3 | let b = 2; |
4 | |
5 | function foo() |
6 | { |
7 | var c = 3; |
8 | let d = 4; |
9 | } |
10 | |
11 | ... |
12 | |
13 | </script> |
Ich kann also a und b sowohl zwischen den script-tags (also global) problemlos benutzen, als auch in der Funktion. Und c und d existieren lokal nur innerhalb der Funktion ... wo ist jetzt der Unterschied, ob ich die Variablen mit var oder let deklariere?