上一篇我們了解到了新的數(shù)據(jù)結(jié)構(gòu)Set,這次我們看一下WeakSet,WeakSet跟Set類似,也是不能有重復(fù)的值,但是跟Set相比有兩個區(qū)別。
第一,WeakSet的成員只能是對象,而不能是其他類型的值。
第二,WeakSet都是弱引用,當(dāng)所有的對象都不在引用該對象的時候,垃圾回收機制會自動回收該對象的內(nèi)存。所以,正因為這個特點,WeakSet的內(nèi)容是不適合被引用的,因為他可能隨時都會消失。
WeakSet的語法和set一樣 new WeakSet() ,可以接受一個數(shù)組或者類似數(shù)組的對象來當(dāng)做參數(shù),但是數(shù)組的成員也必須是對象。
WeakSet的常用方法:
add:添加
delete:清除指定對象
has:返回是否存在
區(qū)別是沒有size屬性,所以沒有辦法執(zhí)行所有的循環(huán)對象 keys values等
上一篇: 走進es6——Set