Карточка Middle Память и сборка мусора обновлено

WeakMap и сборка мусора

Вопрос

Почему WeakMap не мешает сборке мусора и чем за это платит?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

WeakMap держит ключи слабо: если на объект-ключ нет других ссылок, он и запись с его значением удаляются. Плата: ключами могут быть только объекты (и незарегистрированные символы), нет size, keys() и итерации, потому что содержимое зависит от момента сборки.

Ответ

WeakMap держит ключи слабо: если на объект-ключ нет других ссылок, он и запись с его значением удаляются. Плата: ключами могут быть только объекты (и незарегистрированные символы), нет size, keys() и итерации, потому что содержимое зависит от момента сборки.

Разбор

Применение: метаданные к чужим объектам, кеш по объекту, приватные данные.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.