Клавиша / esc

WeakSet

Коллекция, в которой временно хранятся уникальные объекты.

Время чтения: меньше 5 мин

Это незавершённая статья. Вы можете помочь её закончить! Почитайте о том, как контрибьютить в Доку.

Кратко

Скопировано

Коллекция из пар ключ-значение, которая временно хранит объекты и/или символы. Все элементы уникальные и могут быть добавлены в такую коллекцию один раз. Как и WeakMap, WeakSet нужна для сборщика мусора.

Пример

Скопировано
        
          
          var ws = new WeakSet()var obj = {}var foo = {}ws.add(window)ws.add(obj)ws.has(window); // truews.has(foo); // false, foo не добавлен в WeakSetws.delete(window) // удаляет window из WeakSetws.has(window) // false, window был удалён
          var ws = new WeakSet()
var obj = {}
var foo = {}

ws.add(window)
ws.add(obj)

ws.has(window); // true
ws.has(foo); // false, foo не добавлен в WeakSet

ws.delete(window) // удаляет window из WeakSet
ws.has(window) // false, window был удалён

        
        
          
        
      

Как понять

Скопировано

Коллекция в JavaScript — это набор данных разного типа. К примеру, в ней могут хранится массивы и объекты. Также коллекция может быть сама по себе специфической структурой данных, если в ней намешано много всего. Они бывают нескольких видов, и WeakSet относится к ключевым коллекциям.