Buscar..


Sintaxis

  • nuevo WeakSet ([iterable]);
  • weakset.add (valor);
  • weakset.has (valor);
  • weakset.delete (valor);

Observaciones

Para los usos de WeakSet, consulte ECMAScript 6: ¿para qué sirve WeakSet? .

Creando un objeto WeakSet

El objeto WeakSet se utiliza para almacenar objetos débilmente retenidos en una colección. La diferencia de Set es que no puede almacenar valores primitivos, como números o cadenas. Además, las referencias a los objetos en la colección se mantienen débiles, lo que significa que si no hay otra referencia a un objeto almacenado en un WeakSet, se puede recolectar la basura.

El constructor WeakSet tiene un parámetro opcional, que puede ser cualquier objeto iterable (por ejemplo, una matriz). Todos sus elementos se agregarán al WeakSet creado.

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1, obj2]);

Añadiendo un valor

Para agregar un valor a un WeakSet, use el método .add() . Este método es chainable.

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet();
weakset.add(obj1).add(obj2);

Comprobando si existe un valor

Para verificar si un valor sale en un WeakSet, use el método .has() .

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1]);
console.log(weakset.has(obj1)); // true
console.log(weakset.has(obj2)); // false

Eliminando un valor

Para eliminar un valor de un WeakSet, use el método .delete() . Este método devuelve true si el valor existía y se ha eliminado, de lo contrario es false .

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1]);
console.log(weakset.delete(obj1)); // true
console.log(weakset.delete(obj2)); // false


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow