The JavaScript warning “reference to undefined property” occurs when a script attempts to access an object property that doesn’t exist.
Examples
Invalid Cases
In this case, the property bar is an undefined property, so a ReferenceError will occur.
const foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"
Valid Cases
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; ways to do that include using the in operator, or the Object.hasOwn() method, like this:
const foo = {};
// Define the bar property
foo.bar = "moon";
console.log(foo.bar); // "moon"
// Test to be sure bar exists before accessing it
if (Object.hasOwn(foo, "bar")) {
console.log(foo.bar);
}