WeakSet

El objeto WeakSet  te deja almacenar y mantener objectos debilmente en una colecci贸n.

Sintaxis

 new WeakSet([iterable]);

Parametros

iterable
Si un  objeto interable es pasado, todos sus elementos se agregar谩n al nuevo WeakSet. null es tratado como undefined.

Descripci贸n

 

Los objetos WeakSet son colecciones de objetos. Un objecto en WeakSet solo puede ser agregado una vez; Esto quiere decir que es unico en la coleccion WeakSet.

Las principales diferencias con el objeto Set son:

  • A diferencia de  Sets, WeakSets  son solamente colecciones de objetos y no contienen valores arbitrarios de cualquier otro tipo.
  • El WeakSet  es d茅bil: Las referencias a objetos en la colecci贸n se mantienen d茅bilmente.. Si ya no hay otra referencia a un objeto almacenado en el  WeakSet, ellos pueden ser removidos por el recolector de basura. Esto tambi茅n significa que no hay ninguna lista de objetos almacenados en la colecci贸n. Los WeakSets no son enumerables.

Properties

WeakSet.length
El valor de la propiedad length  es 0.
WeakSet.prototype (en-US)
Representa el prototipo para el constructor Set . Permite la adici贸n de propiedades a todos los objetos WeakSet

WeakSet instances

Todas las instancias a WeakSet son heredadas de WeakSet.prototype (en-US).

Propiedades

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

M茅todos

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

Ejemplos

Usando el objetoWeakSet 

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

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

ws.has(window); // true
ws.has(foo);    // false, foo no fue agregado al conjunto

ws.delete(window); // elimina window del conjunto
ws.has(window);    // false, window fue eliminado

Especificaci贸nes

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
La definici贸n de 'WeakSet' en esta especificaci贸n.
Standard Initial definition.
ECMAScript (ECMA-262)
La definici贸n de 'WeakSet' en esta especificaci贸n.
Living Standard  

Compatibilidad de navegadores

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)

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 36 12 34 (34) Sin soporte 23 9
new WeakSet(iterable) 38 12 34 (34) Sin soporte 25 9
Constructor argument: new WeakSet(null) (Yes) 12 37 (37) Sin soporte ? 9
Monkey-patched add() in Constructor (Yes) 12 37 (37) Sin soporte ? 9
Obsolete clear() method removed 43 12 46 (46) Sin soporte 30 9
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Sin soporte (Yes) 34.0 (34) Sin soporte Sin soporte 9
new WeakMap(iterable) Sin soporte (Yes) 34.0 (34) Sin soporte Sin soporte 9
Constructor argument: new WeakSet(null) ? (Yes) (Yes) Sin soporte ? 9
Monkey-patched add() in Constructor ? (Yes) (Yes) Sin soporte ? 9
Obsolete clear() method removed Sin soporte (Yes) ? Sin soporte ? 9

Tambien ver