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 객체를 표현하는 문자열을 반환합니다.

구문

js
toString();

반환값

명시된 Error 객체를 표현하는 문자열.

설명

Error 객체는 모든 객체가 상속받는 Object.prototype.toString() 메서드를 재정의합니다. 이 의미는 다음과 같습니다(ObjectString는 그들 만의 원본 값이 있다고 가정합니다):

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 e1 = new Error("fatal error");
console.log(e1.toString()); // 'Error: fatal error'

var e2 = new Error("fatal error");
e2.name = undefined;
console.log(e2.toString()); // 'Error: fatal error'

var e3 = new Error("fatal error");
e3.name = "";
console.log(e3.toString()); // 'fatal error'

var e4 = new Error("fatal error");
e4.name = "";
e4.message = undefined;
console.log(e4.toString()); // ''

var e5 = new Error("fatal error");
e5.name = "hello";
e5.message = undefined;
console.log(e5.toString()); // 'hello'

명세서

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

브라우저 호환성

BCD tables only load in the browser

같이 보기