Подобно любой другой новой технологии программирования, развитие JavaScript в самом начале шло быстрыми темпами. В предыдущих изданиях книги расска_ зывалось о развитии языка версия за версией и попутно говорилось, в какой вер_ сии какие новшества были введены. Однако к настоящему моменту язык стабили_
22 Глава 1. Введение в JavaScript
зировался и был стандартизован ассоциацией европейских производителей ком_ пьютеров (European Computer Manufacturer’s Association, ECMA).1 Реализации этого стандарта охватывают интерпретатор JavaScript 1.5 компаний Netscape и Mozilla Foundation, а также интерпретатор Jscript 5.5 корпорации Microsoft. Любые веб_броузеры, выпущенные после Netscape 4.5 или Internet Explorer 4, поддерживают последнюю версию языка. На практике вам едва ли придется столкнуться с интерпретаторами, не совместимыми с этими реализациями.
Обратите внимание, что в соответствии со стандартом ECMA_262 язык офици_ ально называется ECMAScript. Но это несколько неудобное название использу_ ется только в случае, если необходимо явно сослаться на стандарт. Чисто техни_ чески название «JavaScript» относится только к реализации, выполненной Net_ scape и Mozilla Foundation. Однако на практике все предпочитают использовать это название для обозначения любой реализации JavaScript.
После длительного периода стабильного существования JavaScript появились некоторые признаки изменений. Веб_броузер Firefox 1.5, выпущенный Mozilla Foundation, включает в себя обновленный интерпретатор JavaScript версии 1.6. Данная версия включает новые (нестандартные) методы работы с массивами, ко_ торые описываются в разделе 7.7.10, а также обладает поддержкой расширения E4X, которое описывается ниже.
В дополнение к спецификациям ECMA_262, которые стандартизуют ядро языка JavaScript, ассоциация ECMA разработала еще один стандарт, имеющий отно_ шение к JavaScript, – ECMA_357. В этой спецификации было стандартизовано расширение JavaScript, известное под названием E4X, или ECMAScript for XML. С помощью этого расширения в язык была добавлена поддержка нового типа данных – XML – вместе с операторами и инструкциями, позволяющими манипулировать XML_документами. К моменту написания этих строк расшире_ ние E4X было реализовано только в JavaScript 1.6 и Firefox 1.5. В данной книге нет формального описания E4X, однако в главе 21 дается расширенное введение в форме практических примеров.
Несколько лет тому назад были внесены предложения к четвертой редакции стандарта ECMA_262, где предполагалось стандартизировать JavaScript 2.0. Эти предложения предусматривают полную перестройку языка, включая введение строгого контроля типов и механизма истинного наследования на основе клас_ сов. До настоящего времени наблюдалось некоторое движение по направлению к стандартизации JavaScript 2.0. Однако реализации, выполненные на основе этих предложений, должны включать в себя поддержку языка Microsoft JScript.NET, а также языков ActionScript 2.0 и ActionScript 3.0, используемых в проигрывателе Adobe (ранее Macromedia) Flash. На текущий момент наблюдают_ ся некоторые признаки, свидетельствующие о возобновлении движения к Java_ Script 2.0, например выпуск JavaScript 1.6 можно расценивать как один из ша_ гов в этом направлении. Предполагается, что любая новая версия языка будет обратно совместима с версией, описываемой в этой книге. Но даже когда язык JavaScript 2.0 будет стандартизирован, потребуется несколько лет, чтобы его реализации появились во всех веб_броузерах.
1 Стандарт ECMA_262, версия 3 (доступен по адресу http://www.ecma'internatio' nal.org/publications/files/ecma'st/ECMA'262.pdf).