Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 28.04.2015, 11:34
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
и получить утечки памяти?
Откуда там утечки?
Да, конечно же, я имел в виду свойства.

Цитата:
Да какая разница доступно свойство или нет, private и protected - это удобные слои абстракции, а не "защита от злобных хакеров", поэтому нет смысла заморачиваться с "безопасностью".
Бывает, что свойство должно изменяться только при определенных обстоятельствах, и, будучи открытым, станет рычагом для поломки кода, что как-то некрасиво.

Последний раз редактировалось Erolast, 28.04.2015 в 11:36.
Ответить с цитированием
  #42 (permalink)  
Старый 28.04.2015, 11:40
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Erolast
Откуда там утечки?
если явно не вызывать деструктор, который будет удалять данные об экземпляре объекта из WeakMap, то они будут там лежать/накапливаться
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #43 (permalink)  
Старый 28.04.2015, 11:42
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
если явно не вызывать деструктор, который будет удалять данные об экземпляре объекта из WeakMap, то они будут там лежать
Почему? Это ж как раз фишка WeakMap, что ссылки в его ключах не учитываются при сборке мусора.
Ответить с цитированием
  #44 (permalink)  
Старый 28.04.2015, 13:01
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Бывает, что свойство должно изменяться только при определенных обстоятельствах, и, будучи открытым, станет рычагом для поломки кода, что как-то некрасиво.
Для такого кейза правильнее использовать get / set методы.
__________________
kobezzza
code monkey
Ответить с цитированием
  #45 (permalink)  
Старый 28.04.2015, 13:45
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

вот записал про наследование для тех кто не в курсе для чего оно, ну и за одно про юишку)

https://www.youtube.com/watch?v=FWc8-dsFKOw
Ответить с цитированием
  #46 (permalink)  
Старый 28.04.2015, 13:48
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

брин ребят не несите хурню, суть приватных полей класса - ИЗБЕЖАТЬ КОФЛИКТ ИМЕН и ИНКАПСУЛЯЦИЯ. обе цели у меня реализованы. точка.

викмапы какие то придумывают блин kobezzza, обуздай пасанов близ а то у меня время нет)
Ответить с цитированием
  #47 (permalink)  
Старый 28.04.2015, 14:04
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Erolast
Почему? Это ж как раз фишка WeakMap, что ссылки в его ключах не учитываются при сборке мусора.
похоже на то
Я не пользовался WeakMap/WeakSet т.к. не вижу в них необходимости =)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #48 (permalink)  
Старый 28.04.2015, 14:27
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
викмапы какие то придумывают блин kobezzza, обуздай пасанов близ а то у меня время нет)


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

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

Разумеется также есть Map / Set, которые в отличии от Weak аналогов итерабельны (причём с сохранением порядка вставки), но там память сама уже не чистится.
__________________
kobezzza
code monkey
Ответить с цитированием
  #49 (permalink)  
Старый 28.04.2015, 23:30
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

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

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

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

Например есть какая нибудь либа и нужно проэксопртировать модель того что она там нагененирила куда нибудь (отпарвить на бэк) или наоборот с бэка пришло и нужно синхронизировать новую модель и модель либы, я не представляю как тут жить без мапов разных
__________________
Научу себя плохому
Ответить с цитированием
  #50 (permalink)  
Старый 29.04.2015, 14:19
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Сообщение от l-liava-l
Еще викмапы и просто мапы удобно юзать чтобы делать двустороннее связывание между двумя разными моделями.
Они для этого и предназначены, умник. Чтобы всякие кеширования делать и.т.п.


п.с. какая вообще логическая связь между мапами и созданием приватных полей класса обьяснит кто нибудь? создается впечатление что тут форум новичков одних. ахинею несете, стыдно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Знаменитая функция Class учавствует в фреймворке ui2/0 __он_самый__ Оффтопик 3 29.12.2014 13:19
Унылого треша тред megaupload Оффтопик 648 17.06.2014 14:31
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Как работает функция Class godofjavascript Оффтопик 58 17.12.2012 09:49