Constructor JavaScript WeakMap()

El constructor WeakMap() produce objetos WeakMap que son una array de pares clave/valor en la que se hace una referencia débil a la clave. Las claves deben ser objetos y los valores pueden ser arbitrarios. La diferencia entre Map y WeakMap es que las claves deben ser objetos y solo tienen una referencia débil. Esto significa que si no hay otras referencias sólidas a la clave, el recolector de elementos no utilizados puede eliminar el elemento en WeakMap.

Sintaxis:

new WeakMap( iterable )

Parámetros: Acepta un parámetro opcional que puede ser cualquier objeto iterable. Un iterable es un objeto similar a una array con pares clave-valor en los elementos. El WeakMap creado incluirá cada par clave-valor. El nulo se considera indefinido.

Los siguientes ejemplos ilustran el constructor WeakmMap:

Ejemplo: el método get() se usa para recuperar un valor asociado con la clave. Si no hay ningún valor asociado con la clave, devuelve indefinido.

Javascript

<script>
  const o1 = {}, o2 = {};
  
  const wp = new WeakMap([[o2, 17]]);
  console.log(wp.get(o2));
  console.log(wp.get(o1));
</script>

Producción:

17
undefined

Ejemplo: El método set() se usa para asignar un valor a la clave. Devuelve el objeto WeakMap, que le permite hacer llamadas chain.set().

Javascript

<script>
  const o1 = {}, o2 = {};
  const wp = new WeakMap();
  
  wp.set(o1, 100).set(o2, 200);
  
  console.log(wp.get(o1));
  console.log(wp.get(o2));
</script>

Producción:

100
200

Ejemplo: El método has() se usa para determinar si un elemento con una clave dada sale en un WeakMap. Devuelve verdadero si sale, de lo contrario, devuelve falso.

Javascript

<script>
  const o1 = {}, o2 = {};
  
  const wp = new WeakMap([[o2, 17]]);
  
  console.log(wp.has(o2));
  console.log(wp.has(o1));
</script>

Producción:

true
false

Ejemplo: El método delete() se usa para eliminar un elemento con una clave específica. Devuelve verdadero si el elemento existió y se eliminó; de lo contrario, devuelve falso.

Javascript

<script>
  const o1 = {}, o2 = {};
  
  const wp = new WeakMap([[o1, 77]]);
  
  console.log(wp.delete(o2));
  console.log(wp.delete(o1));
</script>

Producción:

false
true

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 *