ES6新增的聚合数据

ES5中的聚合数据有: 对象数组

ES6中又添加了四种聚合数据: Set、WeakSet、Map、WeakMap

所以在ES6中共有六种聚合数据:对象、数组、Set、WeakSet、Map、WeakMap

聚合数据 - set

  Set是实现了迭代器接口的去重数组

  在去重的时候不会做类型转换, 由于Set对象实现了数组迭代器接口,所以可以使用for of语句遍历该对象

  内部提供了大量的方法用于操作该对象,属性以及方法如下:

    size: 获取数据的长度(属性)

    has: 判断是否包含某个属性

    add: 添加数据

    delete: 删除某项数据

    clear: 清空数据

    forEach: 用于遍历数据

    keys、values、entries是用于获取迭代器接口

    

聚合数据 - WeakSet

  WeakSet对象是弱set对象,成员只能是引用类型数据

  注意:不能添加空对象null

  由于是弱set对象,因此存在的方法较少,只有添加add,删除delete,判断has是否拥有三个方法

  其它size属性,forEach,clear,keys,entries,values等方法都不存在了

  内部提供的方法:

    delete: 删除数据

    has: 判断是否包含某个属性

    add: 添加数据

  由于weakset不能被垃圾回收机制自动回收,因此要慎用

聚合数据 - Map

  Map是一个超级对象

  传统的对象所有属性名称都必须是字符串

  但是Map对象中,定义的属性名称可以是任意类型(7种类型都可以)

  通过 new map创建map对象,实现了迭代器接口对象,因此可以使用for of循环遍历

  内部也提供了大量的方法用于操作该对象,属性以及方法如下:

    size: 获取数据的长度(属性)

    has: 判断是否包含某个属性

    delete: 删除某项数据

    clear: 清空数据

    get: 获取数据

    set: 设置数据

    forEach: 用于遍历数据

    keys、values、entries是用于获取迭代器接口

    

聚合数据 - WeakMap

  WeakMap对象是弱map对象,属性名称只能是引用类型的数据

  注意:不能添加空对象null

  由于是弱map对象,因此少了很多方法,只有set, get, delete, has方法

  其余的size属性,forEach, keys,values,entries,clear等方法都不存在了

  内部提供操作该对象的方法:

    delete: 删除某项数据

    has: 判断是否包含某个属性

    get: 获取数据 set: 设置数据

  由于weakmap不能被垃圾回收机制自动回收,因此要慎用

posted @ 2021-04-26 17:39  没有茅台喝啤酒也行  阅读(147)  评论(0编辑  收藏  举报