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