ActionScript похож на JavaScript?

У меня есть книга Essential ActionScript 3 (O'Reilly), чтобы узнать, как использовать этот язык. В нем упоминается, что ActionScript 3 является реализацией ECMAScript, как и Javascript. Я нахожу это странным, потому что есть много различий. Насколько я знаю, в Javascript нельзя назначать переменным тип (var marvin: Robot) или создавать "традиционные" классы и интерфейсы. Это, однако, возможно в ActionScript.

Что происходит?

4 ответа

Решение

Текущая реализация Javascript в браузере соответствует спецификации Ecmascript 3. Actionscript реализует Ecmascript 3, но кроме того, некоторые элементы в проекте спецификации Ecmascript 4 (в то время). Особенности ES4 Классы, классическое наследование, пакеты и другие функции, которые вы видите в AS3.

ES4 сейчас заброшен, но здесь есть ссылка на спецификации PDF.

ActionScript 1 (Flash Player 5 и 6) очень похож на JavaScript.

Страница Википедии о состоянии ECMAScript (цитата):

ECMAScript - это язык сценариев, стандартизированный Ecma International в спецификации ECMA-262 и ISO/IEC 16262. Этот язык широко используется в Интернете, особенно в форме трех его самых известных диалектов: JavaScript, ActionScript и JScript.

Поэтому я предполагаю, что эти три языка в некотором роде являются "детьми" ECMAScript, и что каждый из них решает реализовать (или нет) некоторые специфические функции - при этом у всех остается один и тот же корень.


Страница о ActionScript как бы подтверждает это, заявив (цитирование, выделение мое):

ActionScript - это язык сценариев, основанный на ECMAScript.

Я полагаю, что это "основано на" является важной частью.


Кроме того, может быть разница в зависимости от используемой версии ECMAScript, я бы сказал, особенно если учесть, что люди говорят о ECMAScript 5, и что, например, Javascript основан на ECMAScript 3:

По состоянию на 2009 год последней версией языка является JavaScript 1.8.1. Это расширенная версия ECMAScript (ECMA-262) Edition 3.

ECMAScript - это просто стандарт для языка сценариев. Javascript и Actionscript являются реализациями этого стандарта. Каждая реализация может или не может строго следовать этому стандарту, и обе могут свободно добавлять и вычитать его.

Другие вопросы по тегам