WeakSet

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

* Some parts of this feature may have varying levels of support.

O objeto WeakSet pertmite que você armazene objetos mantidos "fracamente" na coleção.

Syntaxe

 new WeakSet([iterable]);

Parâmetros

iterable

Se umobjeto interagível é passado, todos os seus elementos serão adicionados ao novo WeakSet.

Descrição

Objetos WeakSet são coleções de objetos. Um objeto no WeakSet pode ocorrer uma vez; é único na coleção do WeakSet.

As principais diferenças para o objeto Set são:

  • Em contraste ao Sets, WeakSets são coleções apenas de objetos e não de valores arbitrários de qualquer tipo.
  • O WeakSet é fraco. Referências aos objetos nas coleções são mantidas "fracamente". Se não há outra referência para um objeto mantido na WeakSet, eles pode ser coletados pelo gerenciamento de memória (garbage collection).

Propriedades

WeakSet.length

O valor da propriedade de comprimento é 0.

WeakSet.prototype

Representa o protóripo para o construtos Set. Permite a adição de propriedades para todos os objetos do WeakSet.

Instâncias WeakSet

Todas as instâncias do WeakSet herdam do WeakSet.prototype.

Propriedades

Métodos

Exemplos

Usando o objeto do WeakSet

js
var ws = new WeakSet();
var obj = {};
var foo = {};

ws.add(window);
ws.add(obj);

ws.has(window); // true
ws.has(foo); // false, foo não foi adicionado ao set

ws.delete(window); // remove window do set
ws.has(window); // false, window foi removido

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-weakset-objects

Compatilidade de Browser

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
WeakSet
WeakSet() constructor
new WeakSet(iterable)
new WeakSet(null)
add
delete
has
Non-registered symbols as keys

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Veja também