Ответы:
ECMAScript - это язык, тогда как JavaScript, JScript и даже ActionScript 3 называются «диалектами». Википедия проливает свет на это.
Я думаю, что небольшой урок истории должен.
Изначально 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.
JavaScript = ECMAScript + DOM + BOM ;
Спецификация языка ECMAScript® определяет всю логику для создания и редактирования объектов, массивов, чисел и т. Д.
DOM ( D ocument O bject M odel ) позволяет общаться с документами HTML / XML (например document.getElementById('id');
).
BOM ( B rowser O bject M odel ) - это иерархия объектов браузера (например, объект местоположения, объект истории, элементы формы).
История именования JavaScript:
Мокко ► LiveScript ► JavaScript ► (часть JS привела к) ECMA-262 ► ECMAScript ► JavaScript (состоит из ECMAScript + DOM + BOM)
JavaScript = ECMAScript + DOM API;
?
JavaScript = ECMAScript + DOM API;
просто основана на общих согласованных документированных терминах, из которых состоит JavaScript.
Технически ECMAScript - это язык, который каждый использует и внедряет - это спецификация, созданная много лет назад, когда Netscape и Microsoft сели и попытались стандартизировать сценарии между JavaScript (язык сценариев Netscape) и JScript (Microsoft).
Впоследствии все эти движки якобы реализуют ECMAScript, однако JavaScript (имя) теперь используется как по причинам традиционного именования, так и в качестве маркетингового термина Mozilla для их различных нестандартных расширений (которые они хотят иметь на самом деле «версия»). )
Что такое ECMAScript, т.е. ES?
ECMAScript - это стандарт языка сценариев, а язык Javascript основан на стандарте ECMAScript.
Является ли Javascript точно таким же, как ECMAScript?
JavaScript = ECMAScript + DOM API;
DOM API вроде: document.getElementById('id');
Используют ли другие языки стандарт ECMAScript?
Почему он называется ECMAScript?
я знаю, что это старый пост, но, надеюсь, это кому-нибудь поможет.
В 1990-х годах стали появляться разные версии js, такие как javascript от netscape, Js-скрипт от Microsoft. Таким образом, ecmascript был введен в качестве стандарта. Но ecmascript формирует только часть javascript, которая определяет его основной синтаксис, типы, объекты и т. Д. Возможно, это объясняет несовместимые реализации javascript в diff. браузеры
Ссылка - Wrox (профессиональный Javascript для веб-разработчиков)
JavaScript - это язык ECMAScript.
ECMAScript не обязательно JavaScript.
Существующие ответы перефразируют основной вопрос довольно хорошо.
Суть в том, что ECMAScript - это чистый абстрактный язык, без каких-либо доменных расширений, он сам по себе бесполезен. Спецификация определяет только язык и ядро объекты этого.
В то время как JavaScript, ActionScript и другие диалекты добавляют библиотеку, относящуюся к домену, вы можете использовать ее для чего-то значимого.
Существует много движков ECMAScript , некоторые из них с открытым исходным кодом, другие являются проприетарными. Вы можете связать их в своей программе, а затем добавить свои собственные функции в глобальный объект, чтобы ваша программа стала доступной для сценариев. Хотя чаще всего они используются в браузерах.
Javascript был оригинальным названием, предназначенным для извлечения выгоды из популярности Java. ECMA является органом по стандартизации, который наблюдает за стандартом, который в конечном итоге был введен в действие, поэтому названия примерно эквивалентны.
Реализации имеют другие имена, такие как V8 или Rhino и т. Д.
ECMAScript - это стандарт для JavaScrip t, посмотрите на эти утверждения из MDN :
JavaScript (JS) - это легкий интерпретируемый или JIT-скомпилированный язык программирования с первоклассными функциями. Несмотря на то, что он наиболее известен как язык сценариев для веб-страниц, его также используют многие не браузерные среды, такие как node.js, Apache CouchDB и Adobe Acrobat. JavaScript - это основанный на прототипах мультипарадигмальный динамический язык, поддерживающий объектно-ориентированные, императивные и декларативные стили (например, функциональное программирование). Узнайте больше о JavaScript.
Стандарт для JavaScript - ECMAScript . Начиная с 2012 года все современные браузеры полностью поддерживают ECMAScript 5.1. Старые браузеры поддерживают по крайней мере ECMAScript 3. 17 июня 2015 года ECMA International опубликовала шестую основную версию ECMAScript, которая официально называется ECMAScript 2015 и первоначально называлась ECMAScript 6 или ES6. С тех пор стандарты ECMAScript находятся на ежегодных циклах выпуска. Эта документация относится к последней версии проекта, которая в настоящее время ECMAScript 2018.
Для получения дополнительной информации посетите здесь
Вот мои выводы:
JavaScript: Полное руководство , написанное Дэвидом Фланаганом, дает очень краткое объяснение:
JavaScript был создан в Netscape в первые дни существования Интернета, и технически «JavaScript» является торговой маркой, лицензированной у Sun Microsystems (теперь Oracle), используемой для описания реализации языка Netscape (теперь Mozilla). Netscape представил язык для стандартизации в ECMA, и из-за проблем с товарными знаками стандартизированная версия языка застряла с неловким названием «ECMAScript». По тем же причинам, связанным с товарными знаками, версия языка Microsoft формально известна как «JScript». На практике почти все называют язык JavaScript.
Сообщение в блоге от Microsoft , кажется, согласны с тем, что объясняет Фланаган, говоря ..
ECMAScript - это официальное название языка JavaScript, который мы все знаем и любим.
... что заставляет меня думать, что все вхождения JavaScript
в этом справочном посте (опять же от Microsoft) должны быть заменены на ECMASCript
. На самом деле они, кажется, осторожны с использованием ECMAScript
только на этой , более новой и более технической странице документации.
w3schools.com, похоже, согласен с приведенными выше определениями:
JavaScript был изобретен Бренданом Айчем в 1995 году и стал стандартом ECMA в 1997 году. ECMA-262 является официальным названием стандарта. ECMAScript - это официальное название языка.
Ключ здесь: официальное название языка .
Если вы посмотрите страницы JavaScript-версии Mozilla , вы увидите следующее утверждение:
Устаревшее. Явное управление версиями и поддержка языковых функций были специфичны для Mozilla и находятся в процессе удаления. Firefox 4 был последней версией, которая ссылалась на версию JavaScript (1.8.5). С новыми стандартами ECMA функции языка JavaScript теперь часто упоминаются с их первоначальным определением в выпусках ECMA-262, таких как ECMAScript 2015.
и когда вы увидите последние заметки о выпуске, вы всегда увидите ссылку на стандарты ECMAScript, такие как:
Свойство ES2015 Symbol.toStringTag было реализовано (ошибка 1114580).
Реализованы методы ES2015 TypedArray.prototype.toString () и TypedArray.prototype.toLocaleString () (ошибка 1121938).
В Mozilla Web Docs также есть страница, которая объясняет разницу между ECMAScript и JavaScript:
Однако общий термин «JavaScript», понимаемый в контексте веб-браузера, содержит несколько очень разных элементов. Один из них - основной язык (ECMAScript), другой - набор веб-API, включая DOM (объектную модель документа).
Вывод
Насколько я понимаю, люди используют слово JavaScript несколько свободно, чтобы ссылаться на основную спецификацию ECMAScript.
Я бы сказал, что все современные реализации JavaScript (или движки JavaScript) на самом деле являются реализациями ECMAScript. Проверьте определение V8 Engine от Google, например:
V8 - это высокопроизводительный движок JavaScript с открытым исходным кодом от Google, написанный на C ++ и используемый в Google Chrome, браузере с открытым исходным кодом от Google, а также в Node.js и других. Он реализует ECMAScript, как указано в ECMA-262.
Кажется, они взаимозаменяемо используют слова JavaScript и ECMAScript, и я бы сказал, что это на самом деле движок ECMAScript?
Поэтому большинство JavaScript-движков фактически реализуют стандарт ECMAScript, но вместо того, чтобы называть их движками ECMAScript, они называют себя JavaScript-движками. Этот ответ также поддерживает то, как я вижу ситуацию.
Я сомневаюсь, что мы когда-либо будем использовать слово «ECMAScript», если бы не тот факт, что имя «JavaScript» принадлежит Sun. Для всех намерений и целей язык является JavaScript. Вы не ходите в книжный магазин в поисках книг на ECMAScript?
Слишком просто сказать, что «JavaScript» - это реализация. JScript - это реализация Microsoft.
JavaScript - это одна из ветвей языков, сформированных вокруг стандарта ECMAScript. Я считаю, что ECMA - это Европейская ассоциация производителей компьютеров, а не то, что это действительно важно.
Не забывайте, что другим популярным языком, созданным на основе стандарта ECMA Script, является ActionScript, используемый в Adobe Flash / Flex.