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 |