W języku JavaScript obiekt typu Set służy do przechowywania
Set przechowuje wartości dowolnego typu i automatycznie pomija powtórzenia.Map; zbiór nie ma kluczy.Set przechowuje zbiór wartości bez powtórzeń, przy czym wartości mogą być dowolnego typu: liczby, napisy, obiekty. Próba dodania elementu, który już jest w zbiorze, zostaje po cichu zignorowana. Przykład: new Set([1, 2, 2, 3]).size daje 3.
Najczęstsze zastosowanie to usuwanie duplikatów z tablicy: const unikalne = [...new Set(tablica)];. Do pracy ze zbiorem służą metody add(), has() i delete(). Sprawdzenie has() działa szybko także przy dużych zbiorach, dlatego Set przydaje się do zapamiętywania, co już zostało przetworzone.
Liczbę elementów zbioru podaje właściwość size, a nie length jak w tablicy. Po zbiorze przechodzi się pętlą for...of.
Pary klucz-wartość to opis zwykłego obiektu albo struktury Map, a nie zbioru. Set przechowuje pojedyncze wartości, bez kluczy. Ograniczenie kluczy do napisów dotyczy zresztą zwykłego obiektu; Map przyjmuje klucze dowolnego typu.
Wartości tylko tekstowe i do tego posortowane alfabetycznie to podwójnie błędny opis. Zbiór przyjmuje dowolne typy, a elementy zwraca w kolejności dodawania, bez sortowania.
Wartości tylko liczbowe z powtórzeniami przeczą samej idei zbioru: powtórzenia są w nim niemożliwe. Liczby z powtórzeniami przechowuje zwykła tablica. Najkrócej: tablica dopuszcza powtórzenia, Set ich nie dopuszcza, a obiekt i Map przechowują pary klucz-wartość. Tylko zbiór niepowtarzających się wartości dowolnego typu opisuje Set poprawnie.
Przy wyborze struktury danych przydaje się proste pytanie: czy wartości mogą się powtarzać i czy potrzebne są klucze? Brak powtórzeń i brak kluczy wskazuje właśnie na zbiór.