ES6新增的数据类型

作者: 梦见君笑 | 来源:发表于2017-04-01 11:54 被阅读94次

    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,结果都将返“&&”后面的值

    相关文章

      网友评论

        本文标题:ES6新增的数据类型

        本文链接:https://www.haomeiwen.com/subject/erxogttx.html