Error.prototype.toString()

toString() メソッドは、指定した Error オブジェクトを表す文字列を返します。

構文

e.toString()

戻り値

指定した Error オブジェクトを表す文字列です。

説明

Error オブジェクトは、すべてのオブジェクトに継承される 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');
console.log(e.toString()); // 'Error: fatal error'

e.name = undefined;
console.log(e.toString()); // 'Error: fatal error'

e.name = '';
console.log(e.toString()); // 'fatal error'

e.message = undefined;
console.log(e.toString()); // 'Error'

e.name = 'hello';
console.log(e.toString()); // 'hello'

仕様

仕様書 策定状況 備考
ECMAScript 1st Edition (ECMA-262) 標準 初期定義。JavaScript 1.1 で実装。
ECMAScript 5.1 (ECMA-262)
Error.prototype.toString の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
Error.prototype.toString の定義
標準  
ECMAScript Latest Draft (ECMA-262)
Error.prototype.toString の定義
ドラフト  

ブラウザーの実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
toStringChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 1IE 完全対応 6Opera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報