Выбор ответа Middle Современный синтаксис обновлено

Когда нужен WeakMap

Вопрос

В какой задаче WeakMap подходит лучше, чем Map?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Хранить вычисленные данные для DOM-узлов, чтобы они ушли вместе с узлом. WeakMap держит ключи слабо: если на объект-ключ больше нет ссылок, запись исчезнет вместе с ним, утечки нет.

Варианты ответа

  1. Хранить вычисленные данные для DOM-узлов, чтобы они ушли вместе с узломправильный ответ
  2. Хранить словарь переводов интерфейса с ключами-строками вида 'menu.save'
  3. Считать, сколько раз встречается каждое слово в тексте, и выводить топ-10
  4. Хранить упорядоченный список настроек, который нужно обходить в цикле

Разбор

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

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

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

Термины по теме