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.

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

{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Properties')}}

Métodos

{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Methods')}}

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 Language Specification
# sec-weakset-objects

Compatilidade de Browser

BCD tables only load in the browser

Veja também