← 返回首页
Error.prototype.toString() - JavaScript | MDN

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Error.prototype.toString()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

Error 实例的 toString() 方法返回一个表示此错误的字符串。

本文内容

语法

js
toString()

参数

无。

返回值

一个表示指定 Error 对象的字符串。

描述

Error 对象重写了所有对象继承的 Object.prototype.toString() 方法。其语义如下:

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}`; };

示例

使用 toString()

js
const e1 = new Error("致命错误"); console.log(e1.toString()); // "Error: 致命错误" const e2 = new Error("致命错误"); e2.name = undefined; console.log(e2.toString()); // "Error: 致命错误" const e3 = new Error("致命错误"); e3.name = ""; console.log(e3.toString()); // "致命错误" const e4 = new Error("致命错误"); e4.name = ""; e4.message = undefined; console.log(e4.toString()); // "" const e5 = new Error("致命错误"); e5.name = "你好"; e5.message = undefined; console.log(e5.toString()); // "你好"

规范

规范
ECMAScript® 2027 Language Specification
# sec-error.prototype.tostring

浏览器兼容性

启用 JavaScript 以查看此浏览器兼容性表。

参见