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