Error.prototype.toString()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
toString()
メソッドは、指定した Error
オブジェクトを表す文字列を返します。
構文
e.toString()
返値
指定した Error
オブジェクトを表す文字列です。
解説
Error
オブジェクトは、すべてのオブジェクトに継承される Object.prototype.toString()
メソッドを上書きします。その意味は、次のようなものです (Object
と String
は元の値を持つと仮定します)。
js
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;
};
例
toString() の使用
js
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()); // ''
e.name = "hello";
console.log(e.toString()); // 'hello'
仕様書
Specification |
---|
ECMAScript Language Specification # sec-error.prototype.tostring |
ブラウザーの互換性
BCD tables only load in the browser