--- 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.lengthSet. Permite a adição de propriedades para todos os objetos do WeakSet.Instâncias WeakSetTodas 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')}}
WeakSetvar 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 |