TypeError: "x" is (not) "y"
Message
JavaScript
Copy Code
TypeError: "x" is (not) "y" Examples: TypeError: "x" is undefined TypeError: "x" is null TypeError: "undefined" is not an object TypeError: "x" is not an object or null TypeError: "x" is not a symbol
Error type
What went wrong?
There was an unexpected type. This occurs oftentimes with undefined
or null
values.
Also, certain methods, such as Object.create()
or Symbol.keyFor()
, require a specific type, that must be provided.
Examples
Invalid cases
JavaScript
Copy Code
// undefined and null cases on which the substring method won't work var foo = undefined; foo.substring(1); // TypeError: foo is undefined var foo = null; foo.substring(1); // TypeError: foo is null // Certain methods might require a specific type var foo = {} Symbol.keyFor(foo); // TypeError: foo is not a symbol var foo = "bar" Object.create(foo); // TypeError: "foo" is not an object or null
Fixing the issue
To fix null pointer to undefined
or null
values, you can use the typeof operator, for example.
JavaScript
Copy Code
if (typeof foo !== 'undefined') { // Now we know that foo is defined, we are good to go. }
See also
License
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/javascript/reference/errors/unexpected_type