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 2017 Draft (ECMA-262)
Error.prototype.toString の定義
ドラフト

ブラウザーの実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) (有) (有)
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連情報

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

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