ES6新增的数据类型

js中默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对

但是在js对象中键必须是字符串,但实际上Number或者其他的数据结构作为键也是可以的。

为了解决这个问题,最新的ES6规范引入了最新的数据类型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不能重复,所以没有重复值。

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


iterable

遍历array 可以采用下标循环,遍历Map和set 就无法使用下标的方式。为了集合类型,ES6标准引入了iterable类型,array,map,set都属于这个类型。

iterable遍历方式:

1.for ...  of

for(var key of iterable){     //key 是数组中的值

}

2.iterable内置的forEach()方法

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

});

array,set,map的参数名字都不固定,

但是位置固定,

这样理解对吗?

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

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

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

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完毕。--知乎:常溪玲

其他循环方式

1.for ... in      //IE中会多循环一次

for(var key in arr){}       //key 是数组下标  

2.for(){}

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

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

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

3、只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

4、只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容