ReferenceError: reference to undefined property "x" (Firefox)
ReferenceError
warning in strict mode only.
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.
Errors about references to undefined properties occur in strict mode code only. In non-strict code, accesses to properties that don't exist are silently ignored.
In this case, the property bar
is an undefined property, so a ReferenceError
will occur.
'use strict'; 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:
'use strict'; 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); }
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Undefined_prop