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–2018 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