Error.prototype.name
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.
The name
data property of Error.prototype
is shared by all Error
instances. It represents the name for the type of error. For Error.prototype.name
, the initial value is "Error"
. Subclasses like TypeError
and SyntaxError
provide their own name
properties.
Value
A string. For Error.prototype.name
, the initial value is "Error"
.
Property attributes of Error.prototype.name |
|
---|---|
Writable | yes |
Enumerable | no |
Configurable | yes |
Description
By default, Error
instances are given the name "Error". The name
property, in addition to the message
property, is used by the Error.prototype.toString()
method to create a string representation of the error.
Examples
Throwing a custom error
js
const e = new Error("Malformed input"); // e.name is 'Error'
e.name = "ParseError";
throw e;
// e.toString() would return 'ParseError: Malformed input'
Specifications
Specification |
---|
ECMAScript Language Specification # sec-error.prototype.name |
Browser compatibility
BCD tables only load in the browser