Error.prototype.toString()

概述

toString() 方法返回一个指定的错误对象(Error object)的字符串表示。

语法

e.toString();

描述

Object.prototype.toString() 方法。该方法实现如下:(假定 ObjectString 没有被更改):

Error.prototype.toString = function()
{
  "use strict";

  var obj = Object(this);
  if (obj !== this)
    throw new TypeError();

  var name = this.name;
  name = (name === undefined) ? "Error" : String(name);

  var msg = this.message;
  msg = (msg === undefined) ? "" : String(msg);

  if (name === "")
    return msg;
  if (msg === "")
    return name;

  return name + ": " + msg;
};

示例

var e = new Error("fatal error");
print(e.toString()); // "Error: fatal error"

e.name = undefined;
print(e.toString()); // "Error: fatal error"

e.name = "";
print(e.toString()); // "fatal error"

e.message = undefined;
print(e.toString()); // "Error"

e.name = "hello";
print(e.toString()); // "hello"

规范

规范版本 规范状态 注解
ECMAScript 1st Edition. Standard Initial definition.
Implemented in JavaScript 1.1
ECMAScript 5.1 (ECMA-262)
Error.prototype.toString
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Error.prototype.toString
Standard  

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

相关链接