【ES10(2019)】Symbol 扩展 Symbol.prototype.description
生活随笔
收集整理的這篇文章主要介紹了
【ES10(2019)】Symbol 扩展 Symbol.prototype.description
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們知道,Symbol 的描述只被存儲在內部的 Description ,沒有直接對外暴露,我們只有調用 Symbol 的toString()時才可以讀取這個屬性:
const name = Symbol('es') console.log(name.toString()) // Symbol(es) console.log(name) // Symbol(es) console.log(name === 'Symbol(es)') // false console.log(name.toString() === 'Symbol(es)') // true現在可以通過 description 方法獲取 Symbol 的描述:
console.log(Symbol('desc').description); // "desc"console.log(Symbol.iterator.description); // "Symbol.iterator"console.log(Symbol.for('foo').description); // "foo"console.log(`${Symbol('foo').description}bar`); // "foobar"語法:
Symbol('myDescription').description; Symbol.iterator.description; Symbol.for('foo').description;Symbol 對象可以通過一個可選的描述創建,可用于調試,但不能用于訪問 symbol 本身。Symbol.prototype.description屬性可以用于讀取該描述。與 Symbol.prototype.toString() 不同的是它不會包含"Symbol()"的字符串。具體請看實例:
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"總結
以上是生活随笔為你收集整理的【ES10(2019)】Symbol 扩展 Symbol.prototype.description的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 节目表演的点子_矿泉水桶当架子鼓,幼儿园
- 下一篇: c语言第六章条件型循环结构,C语言课件(