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 переопределяет метод 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 Language Specification
# sec-error.prototype.tostring

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также