Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since septiembre de 2015.
* Some parts of this feature may have varying levels of support.
El objeto WeakSet te permite almacenar objetos débiles en una colección.
Los objetos WeakSet son colecciones de objetos. Al igual que Set, cada objecto WeakSet puede estar solo una vez; todos los objetos en una colección WeakSet son unicos.
Las principales diferencias con el objeto Set son:
WeakSet son colecciones de objetos solamente. No pueden contener valores arbitrarios de cualquier tipo, como pueden hacerlo los Set.
El WeakSet es débil, lo que significa que las referencias a objectos en un WeakSet se mantienen débilmente. Si no existen otras referencias a un objecto almacenado en WeakSet, esos objectos pueden ser recolectados como basura.
Nota: Esto también significa que no hay una lista de objectos actuales almacenados en la colección. Los WeakSets no son enumerables.
Las funciones que se llaman recursivamente necesitan una forma de protección contra las estructuras de datos circulares mediante el seguimiento de los objetos que ya se han procesado.
Los WeakSet son ideales para este propósito:
Aquí, se crea un WeakSet en la primera ejecución, y es pasado con cada llamada de función subsiguiente (usando el parámetro interno _refs).
El número de objetos o su orden de recorrido es irrelevante, por lo que un WeakSet es más adecuado (y eficaz) que un Set para rastrear referencias de objetos, especialmente si hay una gran cantidad de objetos involucrados.
Crea un nuevo objeto WeakSet.
Añade valor al objeto WeakSet.
WeakSet.prototype.delete(value)Elimina value del WeakSet. WeakSet.prototype.has(value) devolverá false después.
WeakSet.prototype.has(value)Devuelve un valor booleano que afirma si value está presente en el objeto WeakSet o no.
Tenga en cuenta que foo !== bar. Si bien son objetos similares, no son el mismo objeto. Y así ambos se añaden al conjunto.
| ECMAScript® 2027 Language Specification # sec-weakset-objects |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 28 jul 2024 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.