Cet article vous apporte une brève introduction à WeakSet dans ES6. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
WeakSet est similaire à Set, mais il existe quelques différences :
WeakSet ne peut stocker que des objets, pas des valeurs arbitraires
WeakSet n'est pas itérable
WeakSet est une référence faible, c'est-à-dire que s'il n'y a pas de variable référençant la valeur dans le WeakSet, elle peut être facilement recyclée
new WeakSet([iterable]);
Car seulement les objets peuvent être stockés, donc ici je pense que vous ne pouvez transmettre que des éléments tels que des tableaux d'objets
Tableau d'objets
new WeakSet([{name:1},{name:2}]) //WeakSet(2){{name:1},{name:2}}
let weakset=new WeakSet() weakset.add({num:1}) weakset.add({num:2})
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.has(data) //true weakset.has({num:2}) //false
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.delete(data) //true weakset.delete({num:2}) //false
let weakset=new WeakSet([{num:1}]) setTimeout(()=>console.log(weakset),3000) // 3s 后输出,可以看到,数据没了 WeakSet {}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!