Опубликован черновой вариант (PDF (//\"http://www.ecma-international.org/publications/files/drafts/tc39-2009-025.pdf\"), 3.5Мб) нового стандарта на язык ECMAScript, прошлый вариант которого был принят в 1999 г. и утверждён в качестве международного стандарта ISO/IEC 15991. Новый стандарт планируется утвердить до конца 2009 года. К середине июля 2009 г. команды Opera, Mozilla и IE завершат тестирование спецификации на совместимость с существующими веб-приложениями.
В числе новшеств ECMAScript 5:
* геттеры и сеттеры(реализованы в Mozilla, Safari, Opera), конструкция let();
* поддержка определения формата кодирования JSON объектов;
* дополнительные функции управления массивами и атрибутами свойств;
* рефлективное создание и инспектирование объектов;
* метод Object.freeze() позволяет передавать объекты в виде, не поддающемся модификации, имитируя поведение классов, а сами классы являются надстройкой ( syntactic sugar ) в виде набора простых методов и условий;
* "строгий режим" (strict mode ) расширенная проверка ошибок и безопасность программ.
Путь к новому стандарту был чрезвычайно тернист: пока велась работа над четвёртой редакцией черновика, у авторов, представляющих разработчиков разных браузеров, возникли разногласия, касающиеся раннего связывания (early binding), пакетов (packages) и пространств имён (namespaces). С одной стороны были представители проектов Mozilla, Apple, Opera, выступающие за внесение значительных изменений. Противоположную позицию заняли Microsoft и Yahoo, которые ратовали за сохранение полной семантической совместимости.
Прения продолжались до времени, пока не вышла и набрала популярность версия 3 языка Adobe ActionScript. Представляя более развитые средства ООП, эта технология составила серьёзную конкуренцию JavaScript, темпы развития которого снизились в том числе в связи с устареванием действующего стандарта, уже не отражающего современные методики программирования.
Причины существовавших противоречий в комитете ECMA TC39 относительно разработки стандарта между ветками 3.1 и 4 многие находят политическими - параллельно свои аналоги развивают Adobe и Microsoft. Существенное ускорение произошло по факту урегулирования принципиальных разногласий на встрече в Осло (2008), где, в числе прочего, документу был присвоен номер версии 5. На деле же, за основу была взята редакция 3.1 и привнесены некоторые инновации уже воплощённые в существующих Javascript движках, а остальные новшества из ветки 4 оставлены на потом. Среди новых черт, которые будут в следующих версиях стандарта, после редакции 5, называют:
* улучшения в семантике, которые приведут к несовместимости со значительным количеством существующего кода.
* объект Name, который никаким своим образом не может быть выражен в виде строки;
* деструктурирующие присвоения и закрывание выражений;
* возможность авторам веб-документов прописывать тип содержимого в теле документа, невзирая на выдаваемый сервером Content-Type;
* сам вид стандарта будет менее формальным и будет выпущена справочная реализация ( reference implementation ), которая будет содержать пространства имён и ранние привязки, только как часть обеспечения своей работы, но не как источник для ссылки на стандарт.
http://www.opennet.ru/opennews/art.shtml?num=21253 (//\"http://www.opennet.ru/opennews/art.shtml?num=21253\")