TypeError
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
The TypeError object represents an error when an operation could not be performed, typically (but not exclusively) when a value is not of the expected type.
A TypeError may be thrown when:
- an operand or argument passed to a function is incompatible with the type expected by that operator or function; or
- when attempting to modify a value that cannot be changed; or
- when attempting to use a value in an inappropriate way.
TypeError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().
TypeError is a subclass of Error.
Constructor
TypeError()-
Creates a new
TypeErrorobject.
Instance properties
Also inherits instance properties from its parent Error.
These properties are defined on TypeError.prototype and shared by all TypeError instances.
TypeError.prototype.constructor-
The constructor function that created the instance object. For
TypeErrorinstances, the initial value is theTypeErrorconstructor. TypeError.prototype.name-
Represents the name for the type of error. For
TypeError.prototype.name, the initial value is"TypeError".
Instance methods
Inherits instance methods from its parent Error.
Examples
>Catching a TypeError
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
Creating a TypeError
try {
throw new TypeError("Hello");
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-native-error-types-used-in-this-standard-typeerror> |
Browser compatibility
Loading…