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 TypeError object.
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 TypeError instances, the initial value is the TypeError constructor.
-
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.
Catching a TypeError
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError);
console.log(e.message);
console.log(e.name);
console.log(e.stack);
}
Creating a TypeError
try {
throw new TypeError("Hello");
} catch (e) {
console.log(e instanceof TypeError);
console.log(e.message);
console.log(e.name);
console.log(e.stack);
}
Specifications
Browser compatibility
|
Desktop |
Mobile |
Server |
|
Chrome |
Edge |
Firefox |
Opera |
Safari |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
WebView Android |
Deno |
Node.js |
TypeError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1.0 |
0.10.0 |
TypeError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1.0 |
0.10.0 |
serializable_object |
77 |
79 |
103["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).", "Version 110 also serializes stack in workers (worker.postMessage() and structuredClone())."]
|
64 |
No |
77 |
103["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in the main thread (window.postMessage() and structuredClone()).", "Version 110 also serializes stack in workers (worker.postMessage() and structuredClone())."]
|
55 |
No |
12.0 |
77 |
No |
No |