Вот я и переписала свои опубликованные плагины под старый стандарт Яваскрипта... Года через два, когда поддержка будет шире, проведу обратную операцию. Всё-таки старый синтаксис гораздо менее удобный и очевидный.
При исправлении синтаксиса классов на прототипную запись вылезло одно отличие: в классовой записи есть статические методы у классов, которые автоматически выдаются также дочерним классам, а вот как их сделать в прототипной записи, не городя своего альтернативного ООП - неизвестно. Поэтому ряд методов был переделан на нестатические, и поломалась обратная совместимость. (Правда, не уверена, что моими плагинами кто-то меня пользуется и что это кого-то коснётся... %)
Кроме того, я перевела многие случаи, когда объекты использовались как ассоциативные массивы (по-Руби это будет 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 пропадает.