Цитата:
|
trikadin, на самом деле, акцессоры рулят. Могу холиварить об этом долго.
|
FINoM, назови мне аксессор на удаение свойства?
аксессоры медленнеее обсерверов. аксессоры заставляют тебя изменять обьект если ты хочешь его прослушивать хотя возможно это изменение слмоает обьект. сделай мне обсервинг массива на аксессорах, устанавливай и удаляй их каждый раз при изменении длины. А потом пробегись циклом по десяти тысячному массиву, вызывая 10 тысяч аксессоров и.т.п. в общем ты не обижайся но ты слабо разбираешься в теме раз сравниваешь аксессоры и обсервинг. они для разных целей, и аксессоры совершенно не предназначены для отслеживания изменений, они предназначены для контролирования заливки значения и возможного реагирования на его изменение ИЗНУТРИ обьекта, снаружи для этой цели служат обсерверы. |
Пасоны я не понял че та, они решили выпилить из стандарта фитчу которую придумали? Окей а как они предлагают тогда обсервить обьекты и массивы? А как же фреймворки которые построенные на Object.observe?
|
Цитата:
Короче, нет смысла спорить об этом, у проксей, аксессоров и О.о -- разные сферы применения, это как спорить, что лучше -- гвоздь или шуруп. |
Цитата:
|
devote, ага, и забить его молотком можно, а вот гвоздь вкрутить не получится :D
Вот мы и будем, похоже, шурупы молотком забивать, изобретая свои 100500 велосипедов на проксях вместо "гвоздя" O.o |
Цитата:
Цитата:
|
Лично меня в defineProperty привлекает скорость и последовательность (читай, синхронность).
На самом деле, было бы круто иметь симбиоз O.o, Proxy и defineProperty. Сейчас все три технологии имеют свои минусы. 1. O.o не умеет слушать отдельные свойства, не умеет быть синхронным без вызова deliverChangeRecords. 2. Proxy не поддерживает асинхронность, не умеет слушать отдельные свойства, не позволяет работать с объектом напрямую. 3. defineProperty не умеет слушать delete и не может быть асинхронным. В идеале, хотелось бы видеть один API, который: - Позволяет опционально включить асинхронность. - Позволяет, по выбору программиста, слушать все изменения или изменения отдельных свойств (например, длины массива) для увелиения производительности. - Из изменений слушает delete, get, set. - Слушает set, не заставляя перезаписывать акцессор. - Позволяет работать с объектом напрямую. - Позволяет, как и прокси, переопределить стандартное поведение JavaScript (например, при delete, не удалять свойство, а запускать произвольный код). Мне не очень нравится идея удаления О.о из спецификации, но если этот ход ведет к созданию единого API, который сочетает в себе плюсы всех трех технологий, я только за. Но пока, если я правильно понимаю, ничего такого не предвидится. |
Цитата:
|
Часовой пояс GMT +3, время: 11:10. |