В чем разница между ECMAScript и JavaScript? Из того, что я понял, ECMAScript - это стандарт, а JavaScript - это реализация. Это правильно?
javascript
ecma262
парень
источник
источник
Я думаю, что небольшой урок истории должен.
Изначально JavaScript назывался Mocha и изменился на Livescript, но в конечном итоге стал JavaScript.
Важно отметить, что JavaScript предшествовал ECMAscript, и история покажет вам, почему.
С самого начала JavaScript получил свое название от Java, и первоначально Брендану Эйчу (создателю JS) было предложено разработать язык, похожий на Java для Интернета, для Netscape.
Однако Айх решил, что Java слишком сложен со всеми ее правилами, и поэтому намеревался создать более простой язык, который мог бы кодировать даже новичок. Это проявляется в таких вещах, как ослабление необходимости использовать точку с запятой.
После того, как язык был закончен, маркетинговая команда Netscape попросила Sun разрешить им назвать его JavaScript как маркетинговый ход и, следовательно, почему большинство людей, которые никогда не использовали JavaScript, считают, что это связано с Java.
Примерно через год или два после выпуска JavaScript в браузере, IE Microsoft взял язык и начал создавать свои собственные реализации, такие как JScript. В то же время IE доминировал на рынке и вскоре после того, как Netscape пришлось закрыть свой проект.
Прежде чем Netscape отказался от этого, они решили запустить стандарт, который будет направлять путь JavaScript, под названием ECMAScript.
У ECMAScript было несколько выпусков, и в 1999 году они выпустили свою последнюю версию (ECMAScript 3) перед тем, как перейти в спящий режим в течение следующих 10 лет. В течение этих 10 лет Microsoft доминировала над сценами, но в то же время они не улучшали свой продукт, и, следовательно, родился Firefox (во главе с Eich) и целая куча других браузеров, таких как Chrome, Opera.
ECMAScript выпустил 5-е издание в 2009 году (4-е издание было отменено) с такими функциями, как строгий режим. С тех пор ECMAScript набирает обороты и планирует выпустить свое 6-е издание через несколько месяцев с самыми большими изменениями, которые были до сих пор.
Вы можете использовать список функций для ECMAScript 6 здесь http://kangax.github.io/es5-compat-table/es6/, а также поддержку браузера. Вы даже можете начать писать Ecmascript 6, как вы делаете это с CoffeeScript, и использовать компилятор для компиляции до Ecmascript 5.
Если ECMAScript язык и JavaScript является диалектом спорно, но не важно. Если вы продолжите так думать, это может сбить вас с толку. Там нет компилятора, который бы запускал ECMAScript, и я считаю, что JavaScript считается языком, который реализует стандарт под названием ECMAScript.
Есть также другие заметные языки, которые реализуют ECMAScript, такие как ActionScript (используется для Flash)
источник
ECMAScript = ES:
ECMAScript - это стандарт для языков сценариев.
Такие языки, как Javascript, основаны на стандарте ECMAScript.
Стандарт ECMA основан на нескольких исходных технологиях, наиболее известными из которых являются JavaScript (Netscape) и JScript (Microsoft).
ECMA означает Европейскую ассоциацию производителей компьютеров
JavaScript = JS:
JavaScript является наиболее популярной реализацией стандарта ECMAScript.
Основные функции Javascript основаны на стандарте ECMAScript, но Javascript также имеет другие дополнительные функции, которых нет в спецификации / стандарте ECMA.
ActionScript и JScript - другие языки, которые реализуют ECMAScript.
JavaScript был отправлен в ECMA для стандартизации, но из-за проблем с товарным знаком с именем Javascript стандарт стал называться ECMAScript.
У каждого браузера есть интерпретатор JavaScript.
ES5 = ECMAScript 5:
ES5 - это версия ECMAScript (старая / текущая).
ES5 - это JavaScript, который вы знаете и используете в браузере сегодня.
ES5 не требует шага сборки (транспортеров), чтобы превратить его во что-то, что будет работать в современных браузерах.
Версия 5 ECMAScript была закончена в декабре 2009 года, последние версии всех основных браузеров (Chrome, Safari, Firefox и IE) реализовали версию 5.
Версия 5.1 была закончена в июне 2011 года.
ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:
ES2015 - это версия ECMAScript (новая / будущая).
Официально название ES2015 следует использовать вместо ES6.
ES6 устранит многие недостатки основного языка, устраненные в TypeScript и CoffeeScript.
ES6 - это следующая итерация JavaScript, но она не работает в современных браузерах.
Существует немало транспортеров, которые экспортируют ES5 для работы в браузерах.
BabelJS:
BabelJS - самый популярный транспортер, преобразующий новый JavaScript ES6 в старый JavaScript ES5.
BabelJS делает возможным написание следующего поколения JavaScript сегодня (означает ES2015).
BabelJS просто берет файл ES2015 и преобразует его в файл ES5.
Текущие версии браузеров теперь могут понимать новый код JavaScript (ES2015), даже если они еще не поддерживают его.
TypeScript и CoffeeScript:
Оба предоставляют синтаксический сахар поверх ES5, а затем преобразуются в совместимый с ES5 JavaScript.
Вы пишете TypeScript или CoffeeScript, после чего транспортер превращает его в ES5 JavaScript.
источник
Спецификация языка ECMAScript® определяет всю логику для создания и редактирования объектов, массивов, чисел и т. Д.
DOM ( D ocument O bject M odel ) позволяет общаться с документами HTML / XML (например
document.getElementById('id');
).BOM ( B rowser O bject M odel ) - это иерархия объектов браузера (например, объект местоположения, объект истории, элементы формы).
История именования JavaScript:
источник
JavaScript = ECMAScript + DOM API;
?JavaScript = ECMAScript + DOM API;
просто основана на общих согласованных документированных терминах, из которых состоит JavaScript.Технически ECMAScript - это язык, который каждый использует и внедряет - это спецификация, созданная много лет назад, когда Netscape и Microsoft сели и попытались стандартизировать сценарии между JavaScript (язык сценариев Netscape) и JScript (Microsoft).
Впоследствии все эти движки якобы реализуют ECMAScript, однако JavaScript (имя) теперь используется как по причинам традиционного именования, так и в качестве маркетингового термина Mozilla для их различных нестандартных расширений (которые они хотят иметь на самом деле «версия»). )
источник
Что такое ECMAScript, т.е. ES?
Является ли Javascript точно таким же, как ECMAScript?
DOM API вроде:
document.getElementById('id');
Используют ли другие языки стандарт ECMAScript?
Почему он называется ECMAScript?
источник
Различные версии JavaScript являются реализациями стандарта ECMAScript.
источник
я знаю, что это старый пост, но, надеюсь, это кому-нибудь поможет.
В 1990-х годах стали появляться разные версии js, такие как javascript от netscape, Js-скрипт от Microsoft. Таким образом, ecmascript был введен в качестве стандарта. Но ecmascript формирует только часть javascript, которая определяет его основной синтаксис, типы, объекты и т. Д. Возможно, это объясняет несовместимые реализации javascript в diff. браузеры
Ссылка - Wrox (профессиональный Javascript для веб-разработчиков)
источник
В моем понимании ECMAScript - это «Теория» или «Спецификация», а Javascript - «Практика» или «Реализация».
источник
JavaScript - это язык ECMAScript.
ECMAScript не обязательно JavaScript.
источник
Существующие ответы перефразируют основной вопрос довольно хорошо.
Суть в том, что ECMAScript - это чистый абстрактный язык, без каких-либо доменных расширений, он сам по себе бесполезен. Спецификация определяет только язык и ядро объекты этого.
В то время как JavaScript, ActionScript и другие диалекты добавляют библиотеку, относящуюся к домену, вы можете использовать ее для чего-то значимого.
Существует много движков ECMAScript , некоторые из них с открытым исходным кодом, другие являются проприетарными. Вы можете связать их в своей программе, а затем добавить свои собственные функции в глобальный объект, чтобы ваша программа стала доступной для сценариев. Хотя чаще всего они используются в браузерах.
источник
Javascript был оригинальным названием, предназначенным для извлечения выгоды из популярности Java. ECMA является органом по стандартизации, который наблюдает за стандартом, который в конечном итоге был введен в действие, поэтому названия примерно эквивалентны.
Реализации имеют другие имена, такие как V8 или Rhino и т. Д.
источник
ECMAScript - это стандарт для JavaScrip t, посмотрите на эти утверждения из MDN :
JavaScript
ECMAScript
Для получения дополнительной информации посетите здесь
источник
Вот мои выводы:
JavaScript: Полное руководство , написанное Дэвидом Фланаганом, дает очень краткое объяснение:
Сообщение в блоге от Microsoft , кажется, согласны с тем, что объясняет Фланаган, говоря ..
... что заставляет меня думать, что все вхождения
JavaScript
в этом справочном посте (опять же от Microsoft) должны быть заменены наECMASCript
. На самом деле они, кажется, осторожны с использованиемECMAScript
только на этой , более новой и более технической странице документации.w3schools.com, похоже, согласен с приведенными выше определениями:
Ключ здесь: официальное название языка .
Если вы посмотрите страницы JavaScript-версии Mozilla , вы увидите следующее утверждение:
и когда вы увидите последние заметки о выпуске, вы всегда увидите ссылку на стандарты ECMAScript, такие как:
В Mozilla Web Docs также есть страница, которая объясняет разницу между ECMAScript и JavaScript:
Вывод
Насколько я понимаю, люди используют слово JavaScript несколько свободно, чтобы ссылаться на основную спецификацию ECMAScript.
Я бы сказал, что все современные реализации JavaScript (или движки JavaScript) на самом деле являются реализациями ECMAScript. Проверьте определение V8 Engine от Google, например:
Кажется, они взаимозаменяемо используют слова JavaScript и ECMAScript, и я бы сказал, что это на самом деле движок ECMAScript?
Поэтому большинство JavaScript-движков фактически реализуют стандарт ECMAScript, но вместо того, чтобы называть их движками ECMAScript, они называют себя JavaScript-движками. Этот ответ также поддерживает то, как я вижу ситуацию.
источник
Я сомневаюсь, что мы когда-либо будем использовать слово «ECMAScript», если бы не тот факт, что имя «JavaScript» принадлежит Sun. Для всех намерений и целей язык является JavaScript. Вы не ходите в книжный магазин в поисках книг на ECMAScript?
Слишком просто сказать, что «JavaScript» - это реализация. JScript - это реализация Microsoft.
источник
JavaScript - это одна из ветвей языков, сформированных вокруг стандарта ECMAScript. Я считаю, что ECMA - это Европейская ассоциация производителей компьютеров, а не то, что это действительно важно.
Не забывайте, что другим популярным языком, созданным на основе стандарта ECMA Script, является ActionScript, используемый в Adobe Flash / Flex.
источник