国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES6: Symbol

iliyaku / 3570人閱讀

摘要:的出現(xiàn)是因?yàn)闆](méi)有可以用來(lái)表示唯一的標(biāo)識(shí)符,所以從根本上防止屬性名的沖突,所以引入了。所以對(duì)象的屬性名可以有兩種類(lèi)型,一種是通常的字符串,另一種是新增的類(lèi)型。而且值不能與其他類(lèi)型的值進(jìn)行運(yùn)算。

Symbol的出現(xiàn)是因?yàn)闆](méi)有可以用來(lái)表示唯一的標(biāo)識(shí)符,所以從根本上防止屬性名的沖突,所以引入了Symbol。所以對(duì)象的屬性名可以有兩種類(lèi)型,一種是通常的字符串,另一種是新增的Symbol類(lèi)型。
Symbol是一種新的原始數(shù)據(jù)類(lèi)型,用Symbol函數(shù)生成,用typeof運(yùn)算符的結(jié)果是"symbol"。它是一種原始數(shù)據(jù)類(lèi)型,不是對(duì)象,所以Symbol函數(shù)前不能用new命令。而且Symbol值不能與其他類(lèi)型的值進(jìn)行運(yùn)算。

// 沒(méi)有參數(shù)的情況
var s1 = Symbol();
var s2 = Symbol();

s1 === s2 // false

// 有參數(shù)的情況
var s1 = Symbol("foo");
var s2 = Symbol("foo");

s1 === s2 // false

當(dāng)Symbol值作為對(duì)象屬性名時(shí),不能用點(diǎn)運(yùn)算符

var mySymbol = Symbol();
var a = {};

a.mySymbol = "Hello!";
a[mySymbol] // undefined
a["mySymbol"] // "Hello!"

Symbol作為屬性名,是不會(huì)被for...in,for..of,Object.keys(), Object.getOwnPropertyNames,JSON.stringify()解析的,但是它有一個(gè)私有屬性: Object.getOwnPropertySymbols,這個(gè)可以獲取Symbol的屬性名。另外Reflect.ownKeys 這個(gè)方法可以獲取所有類(lèi)型的屬性名。

Symbol的方法

Symbol.for():可以使用同一個(gè)symbol值,它接受一個(gè)字符串作為參數(shù),然后搜索有沒(méi)有以該參數(shù)作為名稱的Symbol值。

var s1 = Symbol.for("foo");
var s2 = Symbol.for("foo");

s1 === s2 // true

Symbol.for("bar") === Symbol.for("bar")
// true

Symbol("bar") === Symbol("bar")
// false

Symbol.keyFor(): 返回一個(gè)已經(jīng)登記的Symbol類(lèi)型的key值

hasInstance
isConcatSpreadable
species
match
replace
search
split
iterator
toPrimitive
unscopables

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82009.html

相關(guān)文章

  • 通俗易懂理解ES6 - ES6的變量類(lèi)型及Iterator

    摘要:迭代器在原有的數(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...

    Keven 評(píng)論0 收藏0
  • ES6學(xué)習(xí)筆記之Symbol

    摘要:前端技術(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ī)則的提出...

    leo108 評(píng)論0 收藏0
  • ES6 Symbol - 基本使用方法

    摘要:但是,前來(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的...

    paney129 評(píng)論0 收藏0
  • ES6Symbol竟然那么強(qiáng)大,面試中的加分點(diǎn)啊

    摘要:中的獲取針對(duì)這個(gè),添加了方法。這個(gè)和其他的一些屬性不同,他是默認(rèn)不存在一些標(biāo)準(zhǔn)對(duì)象上。進(jìn)行類(lèi)型轉(zhuǎn)換的時(shí)候,會(huì)被強(qiáng)制的調(diào)用一個(gè)參數(shù),在規(guī)范中這個(gè)參數(shù)被稱之為這個(gè)參數(shù)是三個(gè)值其中的一個(gè)。來(lái)上面的類(lèi)型,你可以試試。 symbol是es6出的一種類(lèi)型,他也是屬于原始類(lèi)型的范疇(string, number, boolean, null, undefined, symbol) basic le...

    LeexMuller 評(píng)論0 收藏0
  • ES6語(yǔ)法之Symbol

    摘要:概述的對(duì)象屬性名都是字符串,這容易造成屬性名的沖突。這就是引入的原因。它是語(yǔ)言的第七種數(shù)據(jù)類(lèi)型,前六種是布爾值字符串?dāng)?shù)值對(duì)象。它將創(chuàng)建唯一的標(biāo)識(shí)符,并將其存儲(chǔ)在中。同理,在對(duì)象的內(nèi)部,使用值定義屬性時(shí),值必須放在方括號(hào)之中。 概述 ES5 的對(duì)象屬性名都是字符串,這容易造成屬性名的沖突。比如,你使用了一個(gè)他人提供的對(duì)象,但又想為這個(gè)對(duì)象添加新的方法(mixin 模式),新方法的名字就有...

    baishancloud 評(píng)論0 收藏0
  • 深入理解ES6筆記(六)SymbolSymbol屬性

    摘要:先搜索全局符號(hào)注冊(cè)表,如果已有,則返回這個(gè)已存在的符號(hào)值否則,會(huì)創(chuàng)建一個(gè)新的符號(hào)值,并使用該鍵值將其記錄到全局符號(hào)注冊(cè)表中,然后返回這個(gè)新的符號(hào)值。 主要知識(shí)點(diǎn):創(chuàng)建符號(hào)值、使用符號(hào)值、共享符號(hào)值、符號(hào)值轉(zhuǎn)換。檢索符號(hào)值屬性以及知名符號(hào) showImg(https://segmentfault.com/img/bVbfWhK?w=1203&h=633); 《深入理解ES6》筆記 目錄 ...

    crossea 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<