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 2020年1月.
description 是一个只读属性,它会返回 Symbol 对象的可选描述的字符串。
尝试一下
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('myDescription').description; Symbol.iterator.description; Symbol.for('foo').description; 描述
Symbol 对象可以通过一个可选的描述创建,可用于调试,但不能用于访问 symbol 本身。Symbol.prototype.description 属性可以用于读取该描述。与 Symbol.prototype.toString() 不同的是它不会包含 "Symbol()" 的字符串。具体请看实例。
示例
js
Symbol("desc").toString(); // "Symbol(desc)" Symbol("desc").description; // "desc" Symbol("").description; // "" Symbol().description; // undefined // 内置通用(well-known)symbol Symbol.iterator.toString(); // "Symbol(Symbol.iterator)" Symbol.iterator.description; // "Symbol.iterator" // global symbols Symbol.for("foo").toString(); // "Symbol(foo)" Symbol.for("foo").description; // "foo" 规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-symbol.prototype.description> |