Maison  >  Article  >  interface Web  >  Une brève introduction à WeakSet dans ES6

Une brève introduction à WeakSet dans ES6

不言
不言avant
2018-11-14 16:23:062975parcourir

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.

Présentation

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

Initialisation

 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}}

Ajouter

let weakset=new WeakSet()
weakset.add({num:1})
weakset.add({num:2})

pour déterminer s'il existe déjà un

let data={num:1}
let weakset=new WeakSet()
weakset.add(data)
weakset.add({num:2})
weakset.has(data) //true
weakset.has({num:2}) //false

Supprimer

let data={num:1}
let weakset=new WeakSet()
weakset.add(data)
weakset.add({num:2})
weakset.delete(data) //true
weakset.delete({num:2}) //false

Faible fonctionnalité de référence

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer