zoukankan      html  css  js  c++  java
  • ES6 Set,WeakSet,Map,WeakMap

    1. Set

    Set是一个集合,里面的值都是唯一的,没有重复的。
    Set中可以是任何数据类型,并且添加数据时会进行严格比较,重复数据无法加入。

    2. WeakSet

    弱引用Set。只能存储对象,不能存储其他类型。且只保持对其中对象的弱引用,若外部无对此对象的引用,或者对象被删除,则
    WeakSet中将不再有此对象。

    因为成员都是弱引用,随时可能消失,遍历不能保证成员的存在。所以 WeakSet 不能遍历

    3. Map

    Map是一个键值对。

    Map与Object的区别是:

    1. Object的key只能是String和Symbol类型,而Map的key可以是任何基本类型(String, Number, Boolean, undefined, NaN....)或对象类型(Map, Set, Object, Function , Symbol , null....)
    2. Map有size属性,可以方便的获取Map的长度,但是Object无法直接获取长度

    4. WeakMap

    弱引用Map。WeakMap有如下特点:

    1. WeakMap的key只能是对象,不能是基本类型,且对象不计入垃圾回收机制
    2. WeakMap没有keys、values、entries、size方法
    3. WeakMap没有遍历操作,无法遍历

    WeakMap和WeakSet的作用,可以用来存储DOM节点,保持与DOM节点相关的数据,当DOM节点被删除后,集合中的数据自动删除,
    这样就不必担心移除DOM节点时的内存泄漏了。

  • 相关阅读:
    AGC002
    ICPC 北美Mid Central 2019 Regional
    【洛谷 5020】货币系统
    【洛谷 1109】学生分组
    【洛谷 2915】奶牛混合起来
    【洛谷 4162】最长距离
    【YCOJ 3805】竞选
    【洛谷 2807】最长路
    【洛谷 2918】买干草Buying Hay
    【LOJ 10172】涂抹果酱
  • 原文地址:https://www.cnblogs.com/mengff/p/9662477.html
Copyright © 2011-2022 走看看