toString()
メソッドは、指定した Error
オブジェクトを表す文字列を返します。
構文
e.toString()
戻り値
指定した Error
オブジェクトを表す文字列。
説明
Error
オブジェクトは、すべてのオブジェクトに継承される Object.prototype.toString()
メソッドを上書きします。そのセマンティクスは、次のようになります (Object
と String
は元の値を持つと仮定します):
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 |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |