Показать сообщение отдельно
  #49 (permalink)  
Старый 28.04.2015, 23:30
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Зря ты так, офигенная вещь, допустим в качестве ключа у нас объект соединения пользователя (ну т.е. на серваке), клиент отрубился и если на его объект соединения нет других ссылок, то он автоматом грохнется из WeakMap.

Или другой пример: в качестве ключа выступает DOM нода, а в значении мы храним свою полезную инфу, и когда ноду грохнут, то она автоматом грохнется из WeakMap, т.е. это более правильный подход чем расширения ноды своими свойствами, т.к. нет проблемы конфликта имён.

Разумеется также есть Map / Set, которые в отличии от Weak аналогов итерабельны (причём с сохранением порядка вставки), но там память сама уже не чистится.
Еще викмапы и просто мапы удобно юзать чтобы делать двустороннее связывание между двумя разными моделями.

Например есть какая нибудь либа и нужно проэксопртировать модель того что она там нагененирила куда нибудь (отпарвить на бэк) или наоборот с бэка пришло и нужно синхронизировать новую модель и модель либы, я не представляю как тут жить без мапов разных
__________________
Научу себя плохому
Ответить с цитированием