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 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 6Opera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報

ドキュメントのタグと貢献者

このページの貢献者: segayuu, Marsf, shide55
最終更新者: segayuu,