Sometimes, we may run into the ‘TypeError: can’t access property "x" of "y"’ when we’re developing JavaScript apps.
In this article, we’ll look at how to fix the ‘TypeError: can’t access property "x" of "y"’ when we’re developing JavaScript apps.
Fix the ‘TypeError: can’t access property "x" of "y"’ When Developing JavaScript Apps
To fix the ‘TypeError: can’t access property "x" of "y"’ when we’re developing JavaScript apps, we should make sure the object we’re trying to access the property for isn’t undefined or null.
On Edge, the error message for this error is TypeError: Unable to get property {x} of undefined or null reference.
On Firefox, the error message for this error is TypeError: can't access property {x} of {y}, TypeError: {y} is undefined, can't access property {x} of it, or TypeError: {y} is null, can't access property {x} of it.
For instance, if we have:
const foo = undefined;
foo.substring(1);
const foo = null;
foo.substring(1);
then we’ll get this error since foo is either undefined or null.
Instead, we check if the variable isn’t undefined or null before accessing its properties:
if (typeof foo !== 'undefined') {
// ...
}
We check that foo isn’t undefined with the typeof` operator.
Also, we can use the optional chaining operator (?.) to access a property:
foo?.substring(1)
then no error will be thrown if foo is undefined or null.
Conclusion
To fix the ‘TypeError: can’t access property "x" of "y"’ when we’re developing JavaScript apps, we should make sure the object we’re trying to access the property for isn’t undefined or null.
On Edge, the error message for this error is TypeError: Unable to get property {x} of undefined or null reference.
On Firefox, the error message for this error is TypeError: can't access property {x} of {y}, TypeError: {y} is undefined, can't access property {x} of it, or TypeError: {y} is null, can't access property {x} of it.
We can use the optional chaining operator (?.) to access a property.