Или, точнее, стандарт ECMAScript 6... Я не раз упоминала,
какой он хороший и замечательный, хотя и новый (что в случае браузерных стандартов минус). RPG Maker MV неожиданно его поддерживает, поэтому я стараюсь писать скрипты на нём - а именно, используя конструкции let и class. Но сразу оговорюсь, что
движок RPG Maker MV написан целиком на JS5, то есть перечисленных ниже проблем он не имеет. Эти проблемы имеют только мои скрипты
Но должна сказать, что поддерживает MV его всё-таки не идеально. Например, такая штука как super, очень похожая на аналог в Руби, работает только в конструкторах и только в простой нотации super(аргумент, аргумент). Нельзя автоматически вызвать родительский конструктор с теми же аргументами, что и текущий. Нельзя сделать super.apply(this, arguments), чтобы вызвать его с произвольным списком аргументах. В методах super вроде бы работает, позволяя вызывать родительские версии этих же методов... Но только при включённой консоли (которая по F8)! Если её не включить, игра жалуется на использование super вне метода (неправда) и останавливается. Такой вот квантовый эффект наблюдателя. В результате придётся писать ужасную конструкцию <родительский_класс>.prototype.<название_метода>.apply(this, arguments) и исправлять её, если родительский класс или название метода изменились. Или же использовать самописную функцию extend() вместо новой классовой нотации, чтобы сократить эту запись всего-то на пару пунктов.
Вероятно, JS6 нужно также учитывать при экспорте на Андроид, ведь вроде бы оболочку нужно собирать самому, и она в таком случае должна поддерживать JS6 (если используются плагины с JS6).
И, наконец, браузеры. Про поддержку JS6 браузерами есть
большая интерактивная таблица, где указаны различные фишки JS6 и их отношения с версиями браузеров. Как видно, у современных браузеров поддержка замечательная (не стоит смотреть, что она неполная, ведь особенности ECMAScript 6 обширны, но даже самый простой "синтаксический сахар" оттуда способен сильно облегчить жизнь и обслуживание кода). Но я боюсь за Оперу. Популярность всех её версий (мобильных, настольных...) в русскоязычном пространстве не угасает, а со стандартами она дружит хуже IE - несмотря на то, что вроде бы она внутри Хром. Почти наверняка игры, чьи плагины используют JS6, не будут идти в Опере.
Но я верю в светлое будущее JS6, поэтому постараюсь пользоваться им в тех пределах, в которых его поддерживают Хром и основная оболочка MV.
P.S. Я беру свои слова назад, столкнувшись с реальной необходимостью выкатить игру в браузер. Лиса только в этом месяце будет поддерживать ключевые фишки js6. Опера застыла в развитии (и, к сожалению, не сдаёт позиций в рунете) и даже отсутствует в справочных списках поддержки js6. Буду писать плагины в старом стиле. Можно было бы писать в новом и транслировать Бабилем, но тогда итоговый код выглядит ужасно.