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 naWeakSet
, 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 doWeakSet
.
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