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.

Phương thức toString() của các instance Error trả về một chuỗi biểu diễn lỗi này.

Cú pháp

js
toString()

Tham số

Không có.

Giá trị trả về

Một chuỗi biểu diễn đối tượng Error được chỉ định.

Mô tả

Đối tượng Error ghi đè phương thức Object.prototype.toString() được kế thừa bởi tất cả các đối tượng. Ngữ nghĩa của nó như sau:

js
Error.prototype.toString = function () {
  if (
    this === null ||
    (typeof this !== "object" && typeof this !== "function")
  ) {
    throw new TypeError();
  }
  let name = this.name;
  name = name === undefined ? "Error" : `${name}`;
  let msg = this.message;
  msg = msg === undefined ? "" : `${msg}`;
  if (name === "") {
    return msg;
  }
  if (msg === "") {
    return name;
  }
  return `${name}: ${msg}`;
};

Ví dụ

Sử dụng toString()

js
const e1 = new Error("fatal error");
console.log(e1.toString()); // "Error: fatal error"

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

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

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

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

Đặc tả kỹ thuật

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

Tương thích trình duyệt

Xem thêm