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.

O método toString() retorna uma string representando o objeto Error.

Sintaxe

e.toString()

Valor de retorno

A string representando o objeto Error especificado.

Descrição

O objeto Error sobrescreve o método Object.prototype.toString() herdado por todos os objetos. Sua semântica é a seguinte (assumindo que Object e String tem seus valores originais):

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;
};

Exemplos

Usando 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'

Especificações

Specification
ECMAScript Language Specification
# sec-error.prototype.tostring

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também