Опубликован черновой вариант нового стандарта на Javascript (ecmascript 5)

Автор turbo, 15 Апреля 2009, 21:38

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

turbo

Опубликован черновой вариант (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