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.

js
"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()).

js
"use strict";

var toto = {};

toto.truc = "lune";
console.log(toto.truc); // "lune"

if (foo.hasOwnProperty("truc")) {
  console.log(toto.truc);
}

Voir aussi