Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

WeakSet

L'objet WeakSet permet de créer un ensemble dont les objets sont contenus avec des références faibles.

Syntaxe

 new WeakSet([itérable]);

Paramètre

itérable
Si un objet itérable est présent comme argument, ses éléments seront ajoutés au nouvel objet WeakSet. null est traité comme undefined.

Description

Les WeakSet sont des ensembles d'objets. Un objet présent dans un objet WeakSet ne peut apparaître qu'une seule fois, il est unique pour un WeakSet donné.

Les principales différences avec l'objet Set sont les suivantes :

  • Contrairement aux Sets, les WeakSets sont des ensembles uniquement constitués d'objets et ne peuvent pas contenir des valeurs de n'importe quel type.
  • L'objet WeakSet est faible : Les références vers les objets de l'ensemble sont des références faibles. Si aucune autre référence vers l'objet n'est présente en dehors du WeakSet, l'objet pourra alors être nettoyé par le ramasse-miette. Cela signifie également qu'on ne peut pas lister les objets contenus à un instant donné dans l'ensemble. Les objets WeakSets ne sont pas énumérables.

Propriétés

WeakSet.length
La valeur de la propriété length est 0.
WeakSet.prototype
Cette propriété représente le prototype pour le constructeur WeakSet. Il permet d'ajouter des propriétés pour tous les objets WeakSet.

Instances de WeakSet

Toutes les instances de WeakSet héritent de WeakSet.prototype.

Propriétés

Méthodes

Exemples

Utiliser l'objet WeakSet

var ws = new WeakSet();
var obj = {};
var toto = {};

ws.add(window);
ws.add(obj);

ws.has(window);  // true
ws.has(toto);    // false, toto n'a pas été ajouté à l'ensemble

ws.delete(window); // window est retiré de l'ensemble
ws.has(window);    // false, window a été enlevé

Spécifications

Spécification Statut Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'WeakSet' dans cette spécification.
Standard Définition initiale.
ECMAScript 2016 Draft (7th Edition, ECMA-262)
La définition de 'WeakSet' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple 36 34 (34) Pas de support 23 9
new WeakSet(itérable) 38 34 (34) Pas de support 25 9
Argument du constructeur : new WeakSet(null) (Oui) 37 (37) ? ? 9
Correction (monkey-patching) de add() dans le constructeur (Oui) 37 (37) ? ? 9
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support 34.0 (34) Pas de support Pas de support 9
new WeakMap(iterable) Pas de support 34.0 (34) Pas de support Pas de support 9
Argument du constructeur : new WeakSet(null) ? (Oui) ? ? 9
Correction (monkey-patching) de add() dans le constructeur ? (Oui) ? ? 9

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,