04.11.2015, 20:06
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Ну блин. Это же офигенно полезная штука, какого чёрта?
|
|
04.11.2015, 20:08
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
trikadin, на самом деле, акцессоры рулят. Могу холиварить об этом долго.
|
|
04.11.2015, 23:28
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
FINoM, назови мне аксессор на удаение свойства?
аксессоры медленнеее обсерверов.
аксессоры заставляют тебя изменять обьект если ты хочешь его прослушивать хотя возможно это изменение слмоает обьект.
сделай мне обсервинг массива на аксессорах, устанавливай и удаляй их каждый раз при изменении длины. А потом пробегись циклом по десяти тысячному массиву, вызывая 10 тысяч аксессоров и.т.п.
в общем ты не обижайся но ты слабо разбираешься в теме раз сравниваешь аксессоры и обсервинг. они для разных целей, и аксессоры совершенно не предназначены для отслеживания изменений, они предназначены для контролирования заливки значения и возможного реагирования на его изменение ИЗНУТРИ обьекта, снаружи для этой цели служат обсерверы.
Последний раз редактировалось Mаxmaxmаximus, 04.11.2015 в 23:31.
|
|
04.11.2015, 23:31
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
Пасоны я не понял че та, они решили выпилить из стандарта фитчу которую придумали? Окей а как они предлагают тогда обсервить обьекты и массивы? А как же фреймворки которые построенные на Object.observe?
|
|
05.11.2015, 00:58
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от FINoM
|
trikadin, на самом деле, акцессоры рулят. Могу холиварить об этом долго.
|
У тебя есть объект, в котором нужно отслеживать добавление/удаление произвольных свойств. Расскажи, как это сделать на аксессорах? Ещё аксессоры синхронные (как и прокси), а О.о -- нет.
Короче, нет смысла спорить об этом, у проксей, аксессоров и О.о -- разные сферы применения, это как спорить, что лучше -- гвоздь или шуруп.
|
|
05.11.2015, 10:52
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от trikadin
|
что лучше -- гвоздь или шуруп.
|
шуруп конечно, он по структуре сложнее
|
|
05.11.2015, 12:30
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
devote, ага, и забить его молотком можно, а вот гвоздь вкрутить не получится
Вот мы и будем, похоже, шурупы молотком забивать, изобретая свои 100500 велосипедов на проксях вместо "гвоздя" O.o
|
|
05.11.2015, 13:43
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Mаxmaxmаximus
|
назови мне аксессор на удаение свойства?
|
Это минус акцессоров, да.
Сообщение от trikadin
|
в котором нужно отслеживать добавление/удаление произвольных свойств.
|
O.o - это костыль, причем достаточно медленный, если сравнивать с акцессорами. Не буду тут развивать тему в этом топике, я уже написал здесь, что я думаю об обсерверах и акцессорах.
|
|
05.11.2015, 13:57
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Лично меня в defineProperty привлекает скорость и последовательность (читай, синхронность).
На самом деле, было бы круто иметь симбиоз O.o, Proxy и defineProperty. Сейчас все три технологии имеют свои минусы.
1. O.o не умеет слушать отдельные свойства, не умеет быть синхронным без вызова deliverChangeRecords.
2. Proxy не поддерживает асинхронность, не умеет слушать отдельные свойства, не позволяет работать с объектом напрямую.
3. defineProperty не умеет слушать delete и не может быть асинхронным.
В идеале, хотелось бы видеть один API, который:
- Позволяет опционально включить асинхронность.
- Позволяет, по выбору программиста, слушать все изменения или изменения отдельных свойств (например, длины массива) для увелиения производительности.
- Из изменений слушает delete, get, set.
- Слушает set, не заставляя перезаписывать акцессор.
- Позволяет работать с объектом напрямую.
- Позволяет, как и прокси, переопределить стандартное поведение JavaScript (например, при delete, не удалять свойство, а запускать произвольный код).
Мне не очень нравится идея удаления О.о из спецификации, но если этот ход ведет к созданию единого API, который сочетает в себе плюсы всех трех технологий, я только за. Но пока, если я правильно понимаю, ничего такого не предвидится.
Последний раз редактировалось FINoM, 05.11.2015 в 14:15.
|
|
05.11.2015, 16:59
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от FINoM
|
O.o - это костыль, причем достаточно медленный, если сравнивать с акцессорами.
|
Можно пруфов? Странновато звучит -- асинхронные события (которые ещё и накапливаются, к тому же) медленнее, чем синхронные вызовы функций?
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Как сделать HTML фичи? |
2chan |
Events/DOM/Window |
6 |
26.09.2014 18:50 |
|
|
|