Ich versuche zu verstehen, warum meine JavaScript-Funktion undefiniert zurückgibt, obwohl ich der Variablen innerhalb der Funktion bereits einen Wert deklariert und zugewiesen habe. Hier ist der Code, den ich geschrieben habe:
Code: Select all
function test() {
console.log(a);
let a = 10;
}
test();
Ich habe erwartet, dass dies 10 ausgibt, aber stattdessen gibt es einen ReferenceError aus. Ich weiß, dass mit let deklarierte Variablen einen Blockbereich haben, aber ich bin verwirrt darüber, wie die zeitliche Totzone in diesem Fall funktioniert. Könnte jemand erklären, warum das passiert und wie die Variable während der Ausführung behandelt wird?