ReferenceError: reference to undefined property "x"
Message
ReferenceError: reference to undefined property "x" (Firefox)
Type d'erreur
Uniquement pour Firefox. Une erreur ReferenceError
lancée en avertissement, uniquement si la préférence javascript.options.strict
vaut true
.
Quel est le problème ?
Le code tente d'accéder à une propriété inexistante d'un objet. Il existe deux méthodes pour accéder aux propriétés. Pour plus de détails, on pourra lire la page de la référence sur les accesseurs de propriété.
Exemples
Exemples invalides
Ici, la propriété truc
n'est pas une propriété définie et on obtient alors une ReferenceError
.
"use strict";
var toto = {};
toto.truc; // ReferenceError: reference to undefined property "bar"
Exemples valides
Pour éviter cette erreur, il faut que truc
soit une variable « définie » ou vérifier son existence avant de l'utiliser (en utilisant par exemple la méthode Object.prototype.hasOwnProperty()
).
"use strict";
var toto = {};
toto.truc = "lune";
console.log(toto.truc); // "lune"
if (foo.hasOwnProperty("truc")) {
console.log(toto.truc);
}