Чем отличается WeakSet от Set?
Уровень: Middle
Ответ
WeakSet похож на Set тем, что хранит множество объектов, но у WeakSet элементы тоже являются \"слабыми\" ссылками. Ключевые отличия: WeakSet может содержать только объекты (не примитивы), и если объект больше нигде не используется, кроме как в WeakSet, он может быть удалён сборщиком мусора. Также WeakSet нельзя перебрать (нет метода forEach и свойства size), т.к. содержимое потенциально изменяется сборщиком. В обычном Set хранятся сильные ссылки, и Set позволяет хранить любые значения и предоставляет методы итерации.