WeakSet

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

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

Syntaxe

 new WeakSet([iterable]);

Parâmetros

iterable
Se um objeto 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

WeakSet.prototype.constructor
Returns the function that created an instance's prototype. This is the WeakSet function by default.

Métodos

WeakSet.prototype.add(value)
Appends a new object with the given value to the WeakSet object.
WeakSet.prototype.delete(value)
Removes the element associated to the value. WeakSet.prototype.has(value) will return false afterwards.
WeakSet.prototype.has(value)
Returns a boolean asserting whether an element is present with the given value in the WeakSet object or not.
WeakSet.prototype.clear()
Removes all elements from the WeakSet object.

Exemplos

Usando o objeto do 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ções

Especificação Status Comentário
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'WeakSet' in that specification.
Standard Definição inicial
ECMAScript 2017 Draft (ECMA-262)
The definition of 'WeakSet' in that specification.
Draft  

Compatilidade de Browser

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 36 34 (34) Não suportado 23 9
new WeakSet(iterable) 38 34 (34) Não suportado 25 9
Constructor argument: new WeakSet(null) (Yes) 37 (37) ? ? 9
Monkey-patched add() in Constructor (Yes) 37 (37) ? ? 9
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Não suportado 34.0 (34) Não suportado Não suportado 9
new WeakMap(iterable) Não suportado 34.0 (34) Não suportado Não suportado 9
Constructor argument: new WeakSet(null) ? (Yes) ? ? 9
Monkey-patched add() in Constructor ? (Yes) ? ? 9

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: daniloprates
 Última atualização por: daniloprates,