Symbol.prototype.description

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Thuộc tính accessor description của các giá trị Symbol trả về một chuỗi chứa mô tả của symbol này, hoặc undefined nếu symbol không có mô tả.

Try it

console.log(Symbol("desc").description);
// Expected output: "desc"

console.log(Symbol.iterator.description);
// Expected output: "Symbol.iterator"

console.log(Symbol.for("foo").description);
// Expected output: "foo"

console.log(`${Symbol("foo").description}bar`);
// Expected output: "foobar"

Mô tả

Các đối tượng Symbol có thể được tạo với một mô tả tùy chọn, có thể dùng để debug nhưng không thể truy cập bản thân symbol. Thuộc tính Symbol.prototype.description có thể được dùng để đọc mô tả đó. Nó khác với Symbol.prototype.toString() vì nó không chứa chuỗi bao quanh "Symbol()". Xem ví dụ.

Ví dụ

Sử dụng description

js
Symbol("desc").toString(); // "Symbol(desc)"
Symbol("desc").description; // "desc"
Symbol("").description; // ""
Symbol().description; // undefined

// well-known symbols
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)"
Symbol.iterator.description; // "Symbol.iterator"

// global symbols
Symbol.for("foo").toString(); // "Symbol(foo)"
Symbol.for("foo").description; // "foo"

Đặc tả

Specification
ECMAScript® 2027 Language Specification
# sec-symbol.prototype.description

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

Xem thêm