- Сообщений: 913
- Спасибо получено: 566
Javascript 6
10 года 5 мес. назад #87084
от Lekste
Lekste ответил в теме Javascript 6
К слову, это не forEach ли работает ассинхронно и некоторые об этом забывают и потом удивляются почему там так мало элементов.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 5 мес. назад #87401
от EvilCat
EvilCat ответил в теме Javascript 6
Нет желания все наши находки и изыскания записывать не в формате больших оформленных топиков, которые появляются раз в пару месяцев, а в виде непритязательных мини-дополнений в вики?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 5 мес. назад #87404
от Lekste
Lekste ответил в теме Javascript 6
Не совсем понял о чем речь, но наверно вики было бы удобно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 5 мес. назад #87407
от EvilCat
EvilCat ответил в теме Javascript 6
Я говорю о вики-документации наподобие
такой
.
Спасибо сказали: BloodyHell
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 5 мес. назад #87446
от EvilCat
EvilCat ответил в теме Javascript 6
Судя по всеобщему энтузиазму, скорее нет, чем да -_-
Спасибо сказали: BloodyHell
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 1 мес. назад #90979
от EvilCat
EvilCat ответил в теме Javascript 6
Я беру свои слова назад, столкнувшись с реальной необходимостью выкатить игру в браузер. Лиса только в этом месяце будет поддерживать ключевые фишки js6. Опера застыла в развитии (и, к сожалению, не сдаёт позиций в рунете) и даже отсутствует в справочных списках поддержки js6. Буду писать плагины в старом стиле. Можно было бы писать в новом и транслировать Бабилем, но тогда итоговый код выглядит ужасно.
Спасибо сказали: AnnTenna, BloodyHell
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
10 года 1 день назад #91728
от EvilCat
EvilCat ответил в теме Javascript 6
Вот я и переписала свои опубликованные плагины под старый стандарт Яваскрипта... Года через два, когда поддержка будет шире, проведу обратную операцию. Всё-таки старый синтаксис гораздо менее удобный и очевидный.
При исправлении синтаксиса классов на прототипную запись вылезло одно отличие: в классовой записи есть статические методы у классов, которые автоматически выдаются также дочерним классам, а вот как их сделать в прототипной записи, не городя своего альтернативного ООП - неизвестно. Поэтому ряд методов был переделан на нестатические, и поломалась обратная совместимость. (Правда, не уверена, что моими плагинами кто-то меня пользуется и что это кого-то коснётся... %)
Кроме того, я перевела многие случаи, когда объекты использовались как ассоциативные массивы (по-Руби это будет 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 пропадает.
При исправлении синтаксиса классов на прототипную запись вылезло одно отличие: в классовой записи есть статические методы у классов, которые автоматически выдаются также дочерним классам, а вот как их сделать в прототипной записи, не городя своего альтернативного ООП - неизвестно. Поэтому ряд методов был переделан на нестатические, и поломалась обратная совместимость. (Правда, не уверена, что моими плагинами кто-то меня пользуется и что это кого-то коснётся... %)
Кроме того, я перевела многие случаи, когда объекты использовались как ассоциативные массивы (по-Руби это будет 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 пропадает.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.101 секунд
