Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

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

Propiedades

WeakSet.prototype.constructor
Returns the function that created an instance's prototype. This is the WeakSet function by default.

Métodos

WeakSet.prototype.add(value)
Appends a new object with the given value to the WeakSet object.
WeakSet.prototype.delete(value)
Removes the element associated to the value. WeakSet.prototype.has(value) will return false afterwards.
WeakSet.prototype.has(value)
Returns a boolean asserting whether an element is present with the given value in the WeakSet object or not.
WeakSet.prototype.clear()
Removes all elements from the WeakSet object.

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 Latest Draft (ECMA-262)
La definición de 'WeakSet' en esta especificación.
Draft  

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!

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

Etiquetas y colaboradores del documento

 Colaboradores en esta página: OliverAcosta, roberbnd
 Última actualización por: OliverAcosta,