WeakSet

L'objecte WeakSet permet emmagatzemar d猫bilment objects en una col路lecci贸.

Sintaxi

 new WeakSet([iterable]);

Par脿metres

iterable
Si es pasa un objecte iterable, tots els seus elements ser脿n afegits al nou WeakSet. null es tractat com a undefined.

Descripci贸

Els objectes WeakSet s贸n col路leccions d'objectes. Un objecte al WeakSet nom茅s pot passar un cop, 茅s 煤nic en la col路lecci贸 de WeakSet.

Les principals difer猫ncies respecte l'objecte Set s贸n:

  • Al contrari que Sets, WeakSets s贸n 煤nicament col路leccions d'objectes i no de valors arbitraris de qualsevol tipus.
  •  WeakSet 茅s d猫bil (weak): Les refer猫ncies a la col路lecci贸 es mantenen d猫bilment. SI no hi ha cap altra refer猫ncia a un objecte emmagatzemat en WeakSet, poden ser recollits com a brossa. Aix貌 tamb茅 vol dir que no hi ha cap llista d'objectes actuals emmagatzemats a la col路lecci贸. WeakSets no s贸n enumerables.

Propietats

WeakSet.length
El valor de la propietat length 茅s 0.
WeakSet.prototype
Representa el prototip per al constructor de Set. Permet afegir propietats a tots els objectes WeakSet.

Inst脿ncies WeakSet

Totes les inst脿ncies WeakSet hereten de WeakSet.prototype.

Propietats

{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Properties')}}

M猫todes

{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Methods')}}

Exemples

Utilitzar l'objecte WeakSet

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

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

ws.has(window); // true
ws.has(foo);    // false, foo no s'ha afegit al conjunt

ws.delete(window); // elimina window del conjunt
ws.has(window);    // false, window ha sigut eliminat

ws.clear(); // buida tot el WeakSet

Especificacions

Especificaci贸 Estat Comentaris
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'WeakSet' in that specification.
Standard Definici贸 inicial.

Compatibilitat amb navegadors

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Caracter铆stica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport b脿sic 36 34 (34) No support 23 9
new WeakSet(iterable) 38 34 (34) No support 25 9
Constructor argument: new WeakSet(null) (Yes) 37 (37) ? ? 9
Monkey-patched add() in Constructor (Yes) 37 (37) ? ? 9
Caracter铆stica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport b脿sic No support 34.0 (34) No support No support 9
new WeakMap(iterable) No support 34.0 (34) No support No support 9
Constructor argument: new WeakSet(null) ? (Yes) ? ? 9
Monkey-patched add() in Constructor ? (Yes) ? ? 9

Vegeu tamb茅