摘要:結(jié)果結(jié)果結(jié)果這里前面不能使用操作符。鍵相同的兩個(gè)值并不相同腳本之家腳本之家上面兩個(gè)值是不相等的。值不能夠被隱式轉(zhuǎn)換為字符串類(lèi)型,代碼實(shí)例如下腳本之家報(bào)錯(cuò)報(bào)錯(cuò)
let a=1; let b=1; console.log(a==b); //結(jié)果:true let x=Symbol("this is x"); console.log(typeof x); //結(jié)果:symbol let y=Symbol("y"); console.log(x==y); //結(jié)果: false
//這里 Synbol 前面不能使用 new 操作符。 //防止對(duì)象的屬性被篡改
let sz={name:"曹偉",age:19,[Symbol("xh")]:"007"}; sz["name"]="caowei123"; sz[Symbol("xh")]="009"; console.log(sz); //結(jié)果:Objectage: 19name: "caowei123"Symbol(xh): "007"Symbol(xh): "009"__proto__: Object console.log(sz.name); //結(jié)果:caowei123
let sVal = Symbol(); console.log(typeof sVal)
上面的代碼的輸出值是"symbol";
前面不能使用new,否則會(huì)報(bào)錯(cuò);因?yàn)镾ymbol是一種值類(lèi)型數(shù)據(jù),這也是很好理解的.Symbol()用作Symbol值的描述,也可以理解為鍵(key),代碼實(shí)例如下:
let s1 = Symbol("腳本之家"); let s2 = Symbol("2015");
通過(guò)鍵就可以比較方便的區(qū)分兩個(gè)Symbol值。
鍵相同的兩個(gè)Symbol值并不相同:
let s1 = Symbol("腳本之家"); let s2 = Symbol("腳本之家"); console.log(s1 == s2);
上面兩個(gè)Symbol值是不相等的。
Symbol值不能夠被隱式轉(zhuǎn)換為字符串類(lèi)型,代碼實(shí)例如下:
let s = Symbol("腳本之家"); //報(bào)錯(cuò) `antzone ${sym}` //報(bào)錯(cuò) "antzone" + sym
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83963.html
摘要:前端技術(shù)日新月異,不斷有新技術(shù)出現(xiàn),我們就需要不斷地學(xué)習(xí)新知識(shí),雖然已經(jīng)提出很久了,但是最近我才有時(shí)間靜下心來(lái)好好學(xué)習(xí)一下里面提出的新規(guī)則。 前端技術(shù)日新月異,不斷有新技術(shù)出現(xiàn),我們就需要不斷地學(xué)習(xí)新知識(shí),雖然ES6已經(jīng)提出很久了,但是最近我才有時(shí)間靜下心來(lái)好好學(xué)習(xí)一下里面提出的新規(guī)則。今天總結(jié)下ES6提出的這個(gè)新的原始數(shù)據(jù)類(lèi)型--Symbol。 為啥需要Symbol 一個(gè)新規(guī)則的提出...
摘要:為此,存在一個(gè)全局注冊(cè)表。該調(diào)用會(huì)檢查全局注冊(cè)表,如果有一個(gè)描述為的,則返回該,否則將創(chuàng)建一個(gè)新,并通過(guò)給定的將其存儲(chǔ)在注冊(cè)表中。例如從全局注冊(cè)表中讀取如果該不存在,則創(chuàng)建它再次讀取相同的注冊(cè)表內(nèi)的稱(chēng)為全局。 Symbol 類(lèi)型 根據(jù)規(guī)范,對(duì)象的屬性鍵只能是 String 類(lèi)型或者 Symbol 類(lèi)型。不是 Number,也不是 Boolean,只有 String 或 Symbol 這...
摘要:它是語(yǔ)言的第七種數(shù)據(jù)類(lèi)型,前六種是布爾值字符串?dāng)?shù)值對(duì)象。在中,根據(jù)屬性名來(lái)進(jìn)行判斷。,是一個(gè)布爾值,表示該對(duì)象使用時(shí),是否可以展開(kāi)。等同于,指向該對(duì)象的默認(rèn)遍歷器方法,即該對(duì)象進(jìn)行循環(huán)時(shí),會(huì)調(diào)用這個(gè)方法,返回該對(duì)象的默認(rèn)遍歷器。 本文字?jǐn)?shù):3000+,閱讀時(shí)間6分鐘。 如果有理解不到位的地方,歡迎大家糾錯(cuò)。如果覺(jué)得還可以,希望大家可以點(diǎn)個(gè)贊。 謝謝大家。 目錄 一、Symbol是什么...
摘要:迭代器在原有的數(shù)據(jù)結(jié)構(gòu)類(lèi)型上新增了兩種類(lèi)型,我們?cè)谑褂玫臅r(shí)候還可以通過(guò)自由組合的形式使用這些結(jié)構(gòu)類(lèi)型達(dá)到自己想要的數(shù)據(jù)結(jié)構(gòu),這就需要一種統(tǒng)一的接口機(jī)制供我們調(diào)用處理不同的數(shù)據(jù)結(jié)構(gòu)。 引言 萬(wàn)丈高樓平地起,欲練此功,必先打好基本功: ) 在了解 ES6 新增的變量類(lèi)型前,我們必須先知道 JavaScript 在ES6之前,有如下六種基本數(shù)據(jù)類(lèi)型:Null、Undefined、Number...
摘要:但是,前來(lái)提到的個(gè)方法都不支持屬性,為了保持原有的功能,新增了一個(gè)方法來(lái)檢索類(lèi)型的屬性接下來(lái)看一下式例以上,就是關(guān)于的基本使用方法。 ES6新增了一個(gè)基本數(shù)據(jù)類(lèi)型:Symbol,至此ECMAScript的基本數(shù)據(jù)類(lèi)型就有了6種:字符串,數(shù)字,布爾,null,undefined,Symbol。關(guān)于Symbol,我打算寫(xiě)2篇文章來(lái)提取一下比較重要的知識(shí)點(diǎn),這篇是第一篇,主要講Symbol的...
摘要:值可以作為標(biāo)識(shí)符,用于對(duì)象的屬性名,可以保證不會(huì)出現(xiàn)同名的屬性。的結(jié)果為因?yàn)椴皇峭ㄟ^(guò)的方式實(shí)現(xiàn)的,所以的結(jié)果自然是。這個(gè)實(shí)現(xiàn)類(lèi)似于函數(shù)記憶,我們建立一個(gè)對(duì)象,用來(lái)儲(chǔ)存已經(jīng)創(chuàng)建的值即可。方法返回一個(gè)已登記的類(lèi)型值的。 前言 實(shí)際上,Symbol 的很多特性都無(wú)法模擬實(shí)現(xiàn)……所以先讓我們回顧下有哪些特性,然后挑點(diǎn)能實(shí)現(xiàn)的……當(dāng)然在看的過(guò)程中,你也可以思考這個(gè)特性是否能實(shí)現(xiàn),如果可以實(shí)現(xiàn),該...
閱讀 1780·2021-10-13 09:39
閱讀 1357·2019-08-30 13:58
閱讀 1445·2019-08-29 16:42
閱讀 3592·2019-08-29 15:41
閱讀 3018·2019-08-29 15:11
閱讀 2550·2019-08-29 14:10
閱讀 3442·2019-08-29 13:29
閱讀 2121·2019-08-26 13:27