ES6新增的數(shù)據(jù)類型

js中默認對象表示方式{}可以視為其他語言中的Map或Dictionary的數(shù)據(jù)結(jié)構(gòu),即一組鍵值對

但是在js對象中鍵必須是字符串,但實際上Number或者其他的數(shù)據(jù)結(jié)構(gòu)作為鍵也是可以的。

為了解決這個問題,最新的ES6規(guī)范引入了最新的數(shù)據(jù)類型Map。

Map


map

var m = new Map();
var m = new Map([ [ 'name' , 'wu' ] , ['age','12'] ]);

m.set('name','wuyanbin'); ? //"name" => "wuyanbin"
m.get('name') ;
m.delete('name');

Set

set

set和map類似,是一組key的集合,但不存儲value,key不能重復(fù),所以沒有重復(fù)值。

var s = new Set([1,2,3]);


iterable

遍歷array 可以采用下標(biāo)循環(huán),遍歷Map和set 就無法使用下標(biāo)的方式。為了集合類型,ES6標(biāo)準(zhǔn)引入了iterable類型,array,map,set都屬于這個類型。

iterable遍歷方式:

1.for ...? of

for(var key of iterable){ ? ? //key 是數(shù)組中的值

}

2.iterable內(nèi)置的forEach()方法

iterable.forEach(function(element, index, iterable){

});

array,set,map的參數(shù)名字都不固定,

但是位置固定,

這樣理解對嗎?

array.forEach(function (元素, 索引, 本身)

set.forEach(function (元素, 元素,本身)

map.forEach(function (值, 鍵, 本身)

你到一個商店買東西,剛好你要的東西沒有貨,于是你在店員那里留下了你的電話,過了幾天店里有貨了,店員就打了你的電話,然后你接到電話后就到店里去取了貨。在這個例子里,你的電話號碼就叫回調(diào)函數(shù),你把電話留給店員就叫登記回調(diào)函數(shù),店里后來有貨了叫做觸發(fā)了回調(diào)關(guān)聯(lián)的事件,店員給你打電話叫做調(diào)用回調(diào)函數(shù),你到店里去取貨叫做響應(yīng)回調(diào)事件?;卮鹜戤?。--知乎:常溪玲

其他循環(huán)方式

1.for ... in ? ? ?//IE中會多循環(huán)一次

for(var key in arr){} ? ? ? //key 是數(shù)組下標(biāo) ?

2.for(){}

其中包含了 || 的另一個用法,特地查了一下,用法如下供參考:

1、只要“||”前面為false,不管“||”后面是true還是false,都返回“||”后面的值。

2、只要“||”前面為true,不管“||”后面是true還是false,都返回“||”前面的值。

3、只要“&&”前面是false,無論“&&”后面是true還是false,結(jié)果都將返“&&”前面的值;

4、只要“&&”前面是true,無論“&&”后面是true還是false,結(jié)果都將返“&&”后面的值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容