Что такое WeakMap и как он отличается от Map?
Уровень: Middle
Ответ
WeakMap – это коллекция, аналогичная Map, но ключами в WeakMap могут быть только объекты, и такие связи \"слабые\" – если объект-ключ более не доступен нигде кроме как в WeakMap, он может быть удалён сборщиком мусора. В WeakMap нет свойства size и методов перебора, т.к. содержимое неполноценное (сборщик мусора может удалить элемент в любой момент). В отличие от обычного Map, WeakMap не препятствует сборке мусора для своих ключей. Итого: WeakMap полезен для хранения дополнительной информации об объектах без предотвращения их удаления.