Error.prototype.toString()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
ThetoString()
method ofError
instances returns a string representing this error.
Syntax
js
toString()
Parameters
None.
Return value
A string representing the specifiedError
object.
Description
TheError
object overrides theObject.prototype.toString()
method inherited by all objects. Its semantics are as follows:
js
Error.prototype.toString = function () { if ( this === null || (typeof this !== "object" && typeof this !== "function") ) { throw new TypeError(); } let name = this.name; name = name === undefined ? "Error" : `${name}`; let msg = this.message; msg = msg === undefined ? "" : `${msg}`; if (name === "") { return msg; } if (msg === "") { return name; } return `${name}: ${msg}`;};
Examples
Using toString()
js
const e1 = new Error("fatal error");console.log(e1.toString()); // "Error: fatal error"const e2 = new Error("fatal error");e2.name = undefined;console.log(e2.toString()); // "Error: fatal error"const e3 = new Error("fatal error");e3.name = "";console.log(e3.toString()); // "fatal error"const e4 = new Error("fatal error");e4.name = "";e4.message = undefined;console.log(e4.toString()); // ""const e5 = new Error("fatal error");e5.name = "hello";e5.message = undefined;console.log(e5.toString()); // "hello"
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-error.prototype.tostring |