您好,登錄后才能下訂單哦!
這篇文章主要介紹es6中symbol指的是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
es6中的symbol是一種新的原始數(shù)據(jù)類型,用于表示獨(dú)一無(wú)二的值,最大的用法是用來(lái)定義對(duì)象的唯一屬性名;因?yàn)镾ymbol是原始數(shù)據(jù)類型,不是對(duì)象,所以Symbol函數(shù)棧不能用new命令。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
ES6 引入了一種新的原始數(shù)據(jù)類型 Symbol ,表示獨(dú)一無(wú)二的值,最大的用法是用來(lái)定義對(duì)象的唯一屬性名。
ES6 數(shù)據(jù)類型除了 Number 、 String 、 Boolean 、 Object、 null 和 undefined ,還新增了 Symbol 。
基本用法
Symbol 函數(shù)棧不能用 new 命令,因?yàn)?Symbol 是原始數(shù)據(jù)類型,不是對(duì)象。可以接受一個(gè)字符串作為參數(shù),為新創(chuàng)建的 Symbol 提供描述,用來(lái)顯示在控制臺(tái)或者作為字符串的時(shí)候使用,便于區(qū)分。
let sy = Symbol("KK"); console.log(sy); // Symbol(KK) typeof(sy); // "symbol" // 相同參數(shù) Symbol() 返回的值不相等 let sy1 = Symbol("kk"); sy === sy1; // false
參數(shù)特點(diǎn)
Symbol的參數(shù)一般會(huì)存放一個(gè)字符串 用來(lái)標(biāo)識(shí)不同的值,如果Symbol的參數(shù)是一個(gè)對(duì)象,那么就會(huì)調(diào)用該對(duì)象的toString方法,將其轉(zhuǎn)換成字符串,然后在生成一個(gè)Symbol值。
var s1 = Symbol('id1'); var s2 = Symbol('id1'); console.log(s1 == s2);//false var s3 = Symbol({}); console.log(s3);//Symbol([object Object])
Symbol里面的參數(shù)是表示當(dāng)前這個(gè)Symbol值的描述,即便參數(shù)相同這兩個(gè)Symbol值也不會(huì)相同。
用法及特點(diǎn)
Symbol 作為對(duì)象屬性名時(shí)不能用.運(yùn)算符,要用方括號(hào)。因?yàn)?運(yùn)算符后面是字符串,所以取到的是字符串 sy 屬性,而不是 Symbol 值 sy 屬性。
let syObject = {}; syObject[sy] = "kk"; syObject[sy]; // "kk" syObject.sy; // undefined
以上是“es6中symbol指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。