Fehlermeldung
ReferenceError: reference to undefined property "x" (Firefox)
Errortyp
ReferenceError
Fehlermeldung tritt nur im sStrikten Modus only.
Was ist falsch gelaufen?
Es wird versucht auf eine Eigenschaft zuzugreifen, die nicht existiert. Es gibt zwei Arten um auf Eigenschaften zuzugreifen, siehe Eigenschaften Zugriffsfunktionen auf den Referenzseiten für weitere Details.
Fehler, aufgrund von leeren Eigenschaftsreferenzen treten nur in Quellcode auf der im striken Modus geschrieben ist. In Quellcode der nicht im strikten Modus geschrieben ist, wird der Fehler ohne Meldung ignoriert.
Beispiele
Ungültige Fälle
In diesem Fall ist die Eigenschaft "bar" undefiniert.
"use strict"; var foo = {}; foo.bar; // ReferenceError: reference to undefined property "bar"
Gültige Fälle
Um Fehler zu vermeiden, muss man eine Eigenschaft "bar" definieren, oder überprüfen, ob die Eigenschaft "bar" existiert, before man auf diese zugreift. (z.B.: mit hilfe der Funktion Object.prototype.hasOwnProperty()
).
"use strict"; var foo = {}; foo.bar = "Mond"; console.log(foo.bar); // "Mond" if (foo.hasOwnProperty("bar") { console.log(foo.bar); }