set和weakset,map和weakmap
时间: 2023-04-22 14:04:31 浏览: 74
set和weakset都是用来存储一组唯一的值的数据结构,其中set中的值是强引用,而weakset中的值是弱引用。当一个对象被弱引用所引用时,如果这个对象没有被其他强引用所引用,那么这个对象就会被垃圾回收器回收。
map和weakmap都是用来存储键值对的数据结构,其中map中的键和值都是强引用,而weakmap中的键是弱引用,值是强引用。当一个对象被弱引用所引用时,如果这个对象没有被其他强引用所引用,那么这个对象就会被垃圾回收器回收。而weakmap中的键被回收后,对应的值也会被自动删除。
相关问题
Map、Set、WeakMap 和 WeakSet。
Map、Set、WeakMap 和 WeakSet 都是 JavaScript 中的数据结构,用于存储数据和进行相关操作。其中,Map 和 Set 是强引用类型,而 WeakMap 和 WeakSet 是弱引用类型。Map 用于存储键值对,Set 用于存储唯一值,WeakMap 和 WeakSet 则用于存储对象的弱引用。在使用 WeakMap 和 WeakSet 时,当对象被垃圾回收时,它们所对应的键或值也会被自动删除。至于 lua closure factory 完整代码,我需要更多的信息才能回答。
WeakMap 和 WeakSet是什么
WeakMap 和 WeakSet 是 JavaScript 中的两种特殊的集合,它们允许存储弱引用,即不会阻止被引用对象的垃圾回收。WeakMap 和 WeakSet 与普通的 Map 和 Set 不同,它们的键和值(或元素)必须是对象。当键或元素的引用被清除时,它们会自动从 WeakMap 和 WeakSet 中删除,这使得它们非常适合存储临时对象,如缓存数据、DOM 数据等。但是需要注意的是,在使用 WeakMap 和 WeakSet 时需要谨慎,避免未预期的内存泄漏问题。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)