¿Cuál es el uso de un objeto WeakSet en JavaScript?

Introducción: el objeto JavaScript WeakSet es una especie de colección que nos permite almacenar elementos que solo se mantienen de forma flexible. WeakSet, a diferencia de Set, es solo una colección de elementos. No incluye valores arbitrarios. Tiene las mismas características que un conjunto, ya que no tiene duplicados. La distinción principal entre un WeakSet y un conjunto es que un WeakSet es una colección de objetos en lugar de valores de un determinado tipo. Admite agregar, tener y eliminar como Establecer, pero no tamaño, teclas() o iteraciones.

Sintaxis:

new WeakSet([iterable])  

Parámetro:

  • iterable: es un objeto iterable, cuyos elementos se agregarán a un nuevo WeakSet.

Ventajas de usar el objeto WeakSet:

  • El contenido de un WeakSet se puede recolectar basura.
  • Posibilidad de reducir la utilización de la memoria.
  • Útil para la marca de clase

Características del objeto WeakSet:

  • Un objeto WeakSet solo incluye elementos únicos.
  • Si no hay ninguna referencia a un objeto almacenado en WeakSet, se destina a la recolección de elementos no utilizados.
  • Los elementos de WeakSet no son enumerables. Como resultado, no proporciona ningún mecanismo para obtener los objetos solicitados.
  • Admite agregar, tener y eliminar como Establecer, pero no tamaño, teclas() o iteraciones.

Métodos utilizados con el objeto WeakSet:

  • add (valor):  en este método, el valor se agrega al objeto WeakSet.
  • has(value): Devuelve un booleano que indica si el valor está presente o no en el objeto WeakSet.
  • delete(value): este método elimina un valor del WeakSet. WeakSet.prototype.has(value) devolverá false.

Ejemplo 1: En este ejemplo, usaremos el constructor WeakSet() para construir nuevos WeakSets. Esto generará un nuevo WeakSet, que luego puede usar para almacenar datos. Cuando lo usa para crear un nuevo WeakSet, puede proporcionar un valor contenedor iterable como argumento. Para determinar si un objeto dado existe o no en un WeakSet, use has(value).

índice.js

Javascript

<script>
   const gfg = {},
   geeks = {};  
   const obj = new WeakSet([gfg, geeks]);
  
   // Checking if gfg exists
   console.log(obj.has(gfg));
</script>

Producción:

Ejemplo 1

Ejemplo 2: En este ejemplo, crearemos un objeto WeakSet con el constructor de conjunto débil y luego agregaremos valores con la función de suma. Después de eso, verificamos si el objeto que agregamos estaba presente o no. Luego, el objeto se eliminó del conjunto débil utilizando el método de eliminación, y luego verificamos nuevamente que los objetos se eliminaron con éxito o no.

índice.js

Javascript

<script>
  const obj = new WeakSet();
  const gfg = {};
  const geeks = {};
  
  // gfg object added
  obj.add(gfg);
  console.log(obj.has(gfg)) // true
  console.log(obj.has(geeks)) // false
  
  // gfg object removed
  obj.delete(gfg);
  console.log(obj.has(gfg)) // false
</script>

Producción:

Ejemplo 2

Publicación traducida automáticamente

Artículo escrito por priyavermaa1198 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *