Symbol.prototype.description

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

Symbol 值的 description 訪問器屬性返回一個包含該符號描述的字串,如果該符號沒有描述,則返回 undefined

試一試

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"

描述

Symbol 物件可以用一個可選的描述來建立,該描述可用於除錯,但不能用於訪問符號本身。Symbol.prototype.description 屬性可用於讀取該描述。它與 Symbol.prototype.toString() 不同,因為它不包含圍繞的 "Symbol()" 字串。請參閱示例。

示例

使用 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"

規範

規範
ECMAScript® 2026 語言規範
# sec-symbol.prototype.description

瀏覽器相容性

另見