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> |
浏览器兼容性
Loading…