The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

14.04.2009 17:58

Опубликован черновой вариант (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 ), которая будет содержать пространства имён и ранние привязки, только как часть обеспечения своей работы, но не как источник для ссылки на стандарт.


  1. Главная ссылка к новости (http://www.ecma-international....)
  2. OpenNews: Несогласованность в развитии языка JavaScript урегулирована
  3. Brendan Eich explains ECMAScript Fifth Edition to you
Автор новости: Peter Vereshagin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/21253-javascript
Ключевые слова: javascript, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Юниксоид (??), 22:15, 14/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что толку - IE всё равно не поддерживает.

    Разве только для написания плагинов для ФФ да программ на базе XUL.

     
     
  • 2.2, Fil0sOFF (?), 22:30, 14/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А на кой нам тот ие? Нормальные люди уже давно юзают нормальные браузеры
     
     
  • 3.3, Петр (??), 22:52, 14/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Жаль, что нормальных не так много, как хотелось бы ;)
     
     
  • 4.8, Andrew Kolchoogin (?), 09:05, 15/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В Европе -- больше 50% "нормальных людей" (tm). А пиндосия пусть идёт своей дорогой... Нет, пусть лучше просто идёт... ;)
     
  • 2.5, lion (??), 22:59, 14/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Разве только для написания плагинов для ФФ да программ на базе XUL.

    И это хорошо.


     

  • 1.6, pavlinux (ok), 00:24, 15/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > метод Object.freeze()

    Уже вижу название очередного плугина для Фокса - Object.unfreeze

     
  • 1.7, AsphyX (??), 02:14, 15/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Было бы больше пользы, если бы в разработке языка участвовали не только браузеростроители. ECMAScript — классный универсальный встраиваемый язык, а они его под Web затачивают. Adobe на них не хватает :)
     
  • 1.9, ZigmunD (??), 09:27, 15/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сделали бы выбор объектов а ля jQuery, дабы избавиться от последнего и головной боли.
     
  • 1.10, Аноним (10), 10:33, 15/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Сделали бы выбор объектов а ля jQuery, дабы избавиться от последнего и головной боли.

    Так давно уже есть
    http://www.w3.org/TR/selectors-api/
    и даже кое-где реализовано.

     
  • 1.11, waf (ok), 12:54, 15/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >возможность авторам веб-документов прописывать тип содержимого в теле документа, невзирая на выдаваемый сервером Content-Type;

    Поиск "Content-Type" по 242-страничному черновику стандарта ничего не дал. Великолепно!

     
     
  • 2.12, Аноним (-), 09:57, 16/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    нужно искать MIME
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру