Sets
Um Set é uma coleção com uma única regra que a define: todo valor nela é único. Adicione uma duplicata e nada acontece — ela já está lá.
let numbers = new Set([1, 2, 3, 2, 1]); console.log(numbers); numbers.add(4); console.log(numbers); console.log(numbers.has(2)); console.log(numbers.size);
Set { 1, 2, 3 }
Set { 1, 2, 3, 4 }
true
4new Set([1, 2, 3, 2, 1]) se reduz a apenas três valores únicos no momento em que é criado. has() verifica a presença, e size (não length) te dá a contagem.
Convertendo entre Set e array
Sets não têm métodos de array como map() ou filter() diretamente — converta com a sintaxe de espalhamento [...set] quando precisar deles.
let unique = [...new Set([1, 1, 2, 2, 3])]; console.log(unique);
[ 1, 2, 3 ]
Isso é genuinamente útil, não uma curiosidade: remover duplicatas de um array é exatamente esse padrão — envolva-o em um Set para eliminar duplicatas, depois espalhe de volta em um array comum.
A seguir: declarações condicionais — fazer seu código realmente se ramificar com base em um valor.
Exercício de Prática
Crie numbers = new Set([1, 2, 2, 3, 3, 3]). Imprima numbers.size, e depois imprima se numbers tem o valor 2 usando numbers.has(2).