日韩av免费一二三区-2021精品久久久久精品k8-亚洲红杏AV无码专区首页-99精品久久久久久水蜜桃

咨詢電話:
15628812133
21
2023/06

走進es6|WeakMap和Map的區(qū)別|WeakMap結構

發(fā)布時間:2023-06-21 16:44:58
發(fā)布者:神棍子
瀏覽量:
0

SetWeakSet類似Map也有WeakMap結構,WeakMap結構Map結構大致相同,也是用于生成鍵值對的集合,方法也存在getset,形參中可以接受數(shù)組作為構造函數(shù)。

用法示例

由示例中可以發(fā)現(xiàn)一個問題,WeakMap中的鍵值都是用的Object作為鍵,因為WeakMap直接收對象作為鍵名,下圖中可見,不論用數(shù)字、字符串都不能作為鍵,這也是與Map的區(qū)別之一

WeakMap特性

區(qū)別二就是WeakMap的鍵名所指的對象不會被垃圾回收機制處理。其意就是當外部dom或者對象消失時,WeakMap的鍵依然可以正常使用。

語法卻別一是沒有遍歷器,所以循環(huán)操作都沒辦法使用,例如keys、values等,也沒有size屬性,因為垃圾處理機制的問題所以鍵名也無法清空,取消了clear方法,所以WeakMap只有四個方法:get、sethas、delete

WeakMap經(jīng)常用在dom節(jié)點中,假設我們將點擊后更新狀態(tài)放入WeakMap中,對應的餓鍵名就是當前dom,一旦這個dom節(jié)點被刪除,這個狀態(tài)就會自動消失,不存在內存泄漏問題,此外運用于監(jiān)聽事件也比較方便,當dom消失監(jiān)聽事件也隨之消失


關鍵詞:
返回列表