--- title: WeakSet slug: Web/JavaScript/Reference/Global_Objects/WeakSet translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet ---
new WeakSet([iterable]);
WeakSet
.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 {{jsxref("Set")}} são:
Sets
, WeakSets
são coleções apenas de objetos e não de valores arbitrários de qualquer tipo.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).WeakSet.length
Set
. Permite a adição de propriedades para todos os objetos do WeakSet
.Instâncias WeakSet
Todas as instâncias do WeakSet
herdam do {{jsxref("WeakSet.prototype")}}.
{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Properties')}}
{{page('en-US/Web/JavaScript/Reference/Global_Objects/WeakSet/prototype','Methods')}}
WeakSet
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ção | Status | Comentário |
---|---|---|
{{SpecName('ES6', '#sec-weakset-objects', 'WeakSet')}} | {{Spec2('ES6')}} | Definição inicial |
{{SpecName('ESDraft', '#sec-weakset-objects', 'WeakSet')}} | {{Spec2('ESDraft')}} |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatChrome(36)}} | {{ CompatGeckoDesktop(34) }} | {{CompatNo}} | {{ CompatOpera(23) }} | 9 |
new WeakSet(iterable) |
38 | {{ CompatGeckoDesktop(34) }} | {{CompatNo}} | 25 | 9 |
Constructor argument: new WeakSet(null) |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("37")}} | {{CompatUnknown}} | {{CompatUnknown}} | 9 |
Monkey-patched add() in Constructor |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("37")}} | {{CompatUnknown}} | {{CompatUnknown}} | 9 |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{ CompatGeckoMobile(34) }} | {{CompatNo}} | {{CompatNo}} | 9 |
new WeakMap(iterable) |
{{CompatNo}} | {{ CompatGeckoMobile(34) }} | {{CompatNo}} | {{CompatNo}} | 9 |
Constructor argument: new WeakSet(null) |
{{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | 9 |
Monkey-patched add() in Constructor |
{{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | 9 |