Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • 2

ТЕМА: Javascript 6

Javascript 6 8 года 5 мес. назад #87084

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист RubyПрограммист JavaScript ВетеранДаритель СтимкеяОратор
К слову, это не forEach ли работает ассинхронно и некоторые об этом забывают и потом удивляются почему там так мало элементов. :)
Администратор запретил публиковать записи гостям.

Javascript 6 8 года 4 мес. назад #87401

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • Учитель3 место Готв2 место
Нет желания все наши находки и изыскания записывать не в формате больших оформленных топиков, которые появляются раз в пару месяцев, а в виде непритязательных мини-дополнений в вики?
Администратор запретил публиковать записи гостям.

Javascript 6 8 года 4 мес. назад #87404

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист RubyПрограммист JavaScript ВетеранДаритель СтимкеяОратор
Не совсем понял о чем речь, но наверно вики было бы удобно.
Администратор запретил публиковать записи гостям.

Javascript 6 8 года 4 мес. назад #87407

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • Учитель3 место Готв2 место
Я говорю о вики-документации наподобие такой.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: BloodyHell

Javascript 6 8 года 4 мес. назад #87446

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • Учитель3 место Готв2 место
Судя по всеобщему энтузиазму, скорее нет, чем да -_-
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: BloodyHell

Javascript 6 8 года 2 нед. назад #90979

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • Учитель3 место Готв2 место
Я беру свои слова назад, столкнувшись с реальной необходимостью выкатить игру в браузер. Лиса только в этом месяце будет поддерживать ключевые фишки js6. Опера застыла в развитии (и, к сожалению, не сдаёт позиций в рунете) и даже отсутствует в справочных списках поддержки js6. Буду писать плагины в старом стиле. Можно было бы писать в новом и транслировать Бабилем, но тогда итоговый код выглядит ужасно.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna, BloodyHell

Javascript 6 7 года 11 мес. назад #91728

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • Учитель3 место Готв2 место
Вот я и переписала свои опубликованные плагины под старый стандарт Яваскрипта... Года через два, когда поддержка будет шире, проведу обратную операцию. Всё-таки старый синтаксис гораздо менее удобный и очевидный.

При исправлении синтаксиса классов на прототипную запись вылезло одно отличие: в классовой записи есть статические методы у классов, которые автоматически выдаются также дочерним классам, а вот как их сделать в прототипной записи, не городя своего альтернативного ООП - неизвестно. Поэтому ряд методов был переделан на нестатические, и поломалась обратная совместимость. (Правда, не уверена, что моими плагинами кто-то меня пользуется и что это кого-то коснётся... %)

Кроме того, я перевела многие случаи, когда объекты использовались как ассоциативные массивы (по-Руби это будет Hash) на новый класс Map, который доступен в Яваскрипте довольно давно и пользоваться им я не боюсь. Правда, пришлось написать свою функцию превращения или добавления перечня (Iterable) к Map, поскольку эта возможность как раз есть не во всех браузерах.

Map выгоден тем, что его ключи могут быть какими угодно - даже не строковыми - и это никак не поломает функционал объекта. В то время как если к обычному объекту добавить ключ с именем, например, "hasOwnProperty", то вызов метода hasOwnProperty поломается, и нельзя будет проверить наличие того или иного ключа! В случае, когда названия ключей заранее не известны - особенно если они задаются сторонними лицами, например, авторами игр или игроком - гораздо надёжнее использовать Map.

Минус в том, что к объекту Map нельзя обращаться через квадратные скобки. Нельзя писать myList[key], надо писать myMap.get(key). Присвоение тоже нельзя писать через знак равно: вместо myList[key]=val надо писать myMap.set(key, val). Часть синтаксического сахара типа return cache[key]=result пропадает.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Демий, yuryol, BloodyHell
  • Страница:
  • 1
  • 2
Время создания страницы: 0.191 секунд