Pull to refresh

Comments 26

Хм, т.е. Map и Set для кастомных классов будут бесполезны во многих случаях? Например у меня есть класс Size с 2 полями width и height, сегодня я могу переопределить toString() и использовать обычные объекты в качестве map или set. И похоже что новые Map и Set тут не помогут. Жалко.
По WeakSet и WeakMap нельзя итерироваться, что очень печалит :-(
Я думаю, что причина в том, что итерироваться по изменяющейся коллекции весьма опасно.
WeakSet от Set в данном плане ни чем не отличаются.
Может покажете пример когда это нужно?
Например, при реализации атомов чтобы хранить ссылки на зависимые атомы. По хорошему эти ссылки не должны быть «жёсткими». Но в случае изменения значения нужно иметь возможность пробежаться по всем зависимым атомам и уведомить их об изменении.
А где map.map()?

Почему JS так не везет со стандартной библиотекой? :(
Не очень понял что должен делать map.map(). Конечно, Map можно юзать в качестве значения
Очевидно, то же самое, что и array.map().
Ок, не понял сразу. Ну напишите сами и предложите в ES7. Вообще, думаю есть уже какой-нибудь JS LINQ который все это реализует (в том числе и для новых коллекций).
map.reduce() тоже нет. Они вообще пробовали пользоваться своим API? :/ :(
По-моему написать свой reduce — выполнимая задача. Даже очень. В любом случае возмущаться здесь — контрпродуктивно. Есть гитхаб с предложениями по ES7, который не за горами.
Да и написать свой класс Map — тоже вполне посильная задача, и, уверен, в инете можно найти множество полнофункциональных реализаций.

Вопрос в том, кому тогда нужна эта убогая официальная реализация.
Что за привычка пенять на других? Ай-яй-яй какие плохие, не добавили ваш любимый сахар! Вот сюда можно слать свои предложения. Процесс открыт. Если там вас завернут — можно возмущаться.

Или вы просто мимо проходили и решили говном покидать в JS?

P.S. Согласен, что map/reduce делает код красивее. Но лично для меня это не жизненно необходимая фича.
Это же стандарт! Не хобби-проект. Тем, что они там выпускают, пользоваться потом всем и всегда! Это будет высечено в браузерах и серверах на годы, на десятилетия может даже!

Как так получается, что качество стандартной библиотеки JS, самой распространенной, млять, платформы в мире, зависит от мимо проходящего кидателя какашек?
Сможете найти туда ссылку из самого репозитория, из коммита или из откаченного пул-реквеста? По вашей ссылке совершенно неофициальные логи по какой-то сходке. Так что да, без пояснений. Была бы ссылка из коммита, было бы «с пояснением».

Ну а по ссылке: хорошо перетерли. Подозреваю, что не будет у нас ни map.map, ни map.entries().map. Лично я трагедии не вижу: как пользовались все либами, так и будут пользоваться. Map и Set добавили, а остальное можно в либах докрутить.
А должен? Извините, а вы вообще в курсе процесса стандартизации ECMAScript?
Нет, не должен.

Я отвечал вот на это:
Процесс открыт. Если там вас завернут — можно возмущаться.

В открытой части процесса предложение уже было и его уже завернули без пояснений в открытой части процесса.
Добавление предложений в данный репозиторий не является «открытой» частью — могут быть добавлены только те предложения, у которых есть чемпион — член tc39. Открытой частью обсуждения является эта рассылка, а никак не список предложений. Где найти логи собраний tc39, на которых решается судьба данных предложений — всем известно, так что, как минимум, глупо удивляться отсутствую комментариев в коммите.
Интересно, поскольку сам Jason Orendoff указывал, что предложения принимаются в данном репозитории, т.е. в issues. Но, возможно я его не так понял.
Предложения может и принимаются в виде ишью (пока, вроде, ничего хорошего из этого не вышло, да и на упомянутое предложение такое ишью отсутствует), но добавленных в список, о котором, собственно, была речь, без «чемпиона», представляющего предложение комитету, не видел.
Речь вообще шла о том, что у комитета есть (более-менее) нормальная обратная связь с сообществом, и что если чем-то недоволен, то можно идти в мейлинг лист или на гитхаб и кидать им какашки прямо в лицо.

Впрочем, как я теперь вижу, процесс аппрува фич не вполне прозрачный.
Где найти логи собраний tc39, на которых решается судьба данных предложений — всем известно, так что, как минимум, глупо удивляться отсутствую комментариев в коммите.


Вообще, это хреновая мотивация. «Где issue-трекер и так все знают, так что в комментариях ничего не пишем».

Sign up to leave a comment.

Articles