ReferenceError: can't access lexical declaration`X' before initialization
Fehlermeldung
ReferenceError: can't access lexical declaration `X' before initialization (Firefox) ReferenceError: 'x' is not defined (Chrome)
Fehlertyp
Was ist falsch gelaufen?
Beispiele
Falsche Fälle
In diesem Fall wird die Variable "foo" in einem Blockstatement mit let
neu deklariert.
function test() {
let foo = 33;
if (true) {
let foo = (foo + 55);
// ReferenceError: can't access lexical
// declaration `foo' before initialization
}
}
test();
Richtige Fälle
Um "foo" im if-Statement zu ändern, muss let
entfernt werden, welche die Neudeklaration verursacht.
function test(){
let foo = 33;
if (true) {
foo = (foo + 55);
}
}
test();