程序员鸡皮
文章 分类 评论
323 4 39

站点介绍

一名PHP全栈程序员的日常......

Map和WeakMap有什么不同?解释WeakMap的特性

abzzp 2026-05-18 341 0条评论 前端 前端

首页 / 正文
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......

发布于2024-07-04

Map的特点

Map是一种键值对集合,可以使用任何类型的值为键,包括对象和基本类型。它的键是强引用的,这意味着只要Map中存在对某个对象的引用,那么这个对象就不会被垃圾回收机制回收。在Map中,由于键是强引用的,所以即使不再需要某个对象,只要它仍然是Map的键,该对象不会被回收,可能导致内存泄漏。Map是可迭代的,比如我们可以使用for...of循环来迭代。

WeakMap的特点:

WeakMap也是一种键值对,但它的键必须是对象,不能是基本类型,WeakMap中的键是弱引用的,也就是说,如果没有其他引用指向该对象,那么即使这个对象是WeakMap的键,它也会被垃圾回收机制回收。由于WeakMap的键是弱引用的,也就是说,所以如果某个对象只作为WeakMap的键存在,并且在其他地方没有被引用,那么它会被垃圾机制回收,从而自动释放内存。这使得WeakMap非常适合那些临时对象。

WeakMap不可迭代,无法通过for...of或其他迭代方法遍历其内容。这是因为WeakMap的设计初衷是为了允许被自动回收,如果可以迭代WeakMap,将会打破其他引用特性。

评论(0)

文章目录

最新评论

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 凡梦星尘

    友链已经添加好了,欢迎回访哈

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 生辰八字算命

    文章不错支持一下,非常喜欢

  • 免费算命

    文章不错非常喜欢,支持一下

  • 茗辰原

    马克吐温的作品就很经典,小时候很爱看

  • 姓名测试打分

    文章不错支持一下,非常喜欢

  • 姓名测试打分

    文章不错非常喜欢,支持

日历

2026年11月

日一二三四五六
1234567
891011121314
15161718192021
22232425262728
2930     

站点公告
本站是作为记录一名北漂程序员编程学习以及日常的博客,欢迎添加微信BmzhbjzhB咨询交流,喜欢吃红薯或粉条的也可以私聊我......
点击小铃铛关闭
配色方案