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 иÑÐ»Ñ 2015 г..
Сводка
ÐеÑод toString() возвÑаÑÐ°ÐµÑ ÑÑÑокÑ, пÑедÑÑавлÑÑÑÑÑ ÑказаннÑй обÑÐµÐºÑ Error.
СинÑакÑиÑ
e.toString()
ÐпиÑание
ÐбÑÐµÐºÑ 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;
};
ÐÑимеÑÑ
js
var e = new Error("непопÑÐ°Ð²Ð¸Ð¼Ð°Ñ Ð¾Ñибка");
print(e.toString()); // 'Error: непопÑÐ°Ð²Ð¸Ð¼Ð°Ñ Ð¾Ñибка'
e.name = undefined;
print(e.toString()); // 'Error: непопÑÐ°Ð²Ð¸Ð¼Ð°Ñ Ð¾Ñибка'
e.name = "";
print(e.toString()); // 'непопÑÐ°Ð²Ð¸Ð¼Ð°Ñ Ð¾Ñибка'
e.message = undefined;
print(e.toString()); // 'Error'
e.name = "пÑивеÑ";
print(e.toString()); // 'пÑивеÑ'
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-error.prototype.tostring> |