Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

TypeError: "x" is (not) "y"

Message

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

TypeError.

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

// 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.

if (typeof foo !== 'undefined') {
  // Now we know that foo is defined, we are good to go.
}

See also

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,