The JavaScript warning "reference to undefined property" occurs when a script attempted to access an object property which doesn't exist.
ReferenceError: reference to undefined property "x" (Firefox)
(Firefox only)
ReferenceError
warning which is reported only if
javascript.options.strict
preference is set to
true
.
The script attempted to access an object property which doesn't exist. There are two ways to access properties; see the property accessors reference page to learn more about them.
In this case, the property
bar
is an undefined property, so a
ReferenceError
will occur.
var foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"
To avoid the error, you need to either add a definition for
bar
to the object or check for the existence of the
bar
property before trying to access it; one way to do that is to use the
Object.prototype.hasOwnProperty()
method), like this:
var foo = {};
// Define the bar property
foo.bar = 'moon';
console.log(foo.bar); // "moon"
// Test to be sure bar exists before accessing it
if (foo.hasOwnProperty('bar')) {
console.log(foo.bar);
}