Рубрики
Без рубрики

В чем разница между JavaScript и Ecmascript?

Михаилом Арана В чем разница между JavaScript и Ecmascript? Я пытался гугламировать «разницу между JavaScript и Ecmascript. «Я закончил уйти через море неоднозначных и, казалось бы, противоречивых результатов:« Ecmascript – это стандарт ». «JavaScript – это стандарт». «Ecmascript – это спецификация». «JavaScript есть

Михаилом Арана

Я пытался гугламировать «разницу между JavaScript и Ecmascript».

Я оказался, что пришлось уйти через море неоднозначных и, казалось бы, противоречивых результатов:

” Ecmascript – это стандарт. “

” JavaScript – это стандарт. “

” Ecmascript – это спецификация ».

” JavaScript – это реализация стандарта Ecmascript ».

” Ecmascript стандартизирован JavaScript “.

” Ecmascript – это язык. “

” JavaScript – это диалект eCmascript “.

«Ecmascript это JavaScript».

Отставит желание плакать, я поднялся и решил совершить некоторые болезненные, но продуктивные исследования.

Эта статья представляет мое текущее понимание различий между JavaScript и Ecmascript. Он ориентирован на людей, которые знакомы с JavaScript, но хотелось бы более четкое понимание своих отношений с Ecmascript, веб-браузерами, Бабел , и более. Вы также узнаете о языках сценариев, двигателей JavaScript и JavaScript Runtimes для хорошей меры.

Так что накачайте.

Глоссарий JavaScript/Ecmascript

Ниже приведен список определений, разработанных с акцентом на согласованность и ясность. Определения не на 100% завершены. Они построены таким образом, что обеспечивает высокое понимание связи и взаимосвязи между JavaScript и Ecmascript.

Без дальнейшего ADO давайте начнем.

Ecma International

Организация, которая создает стандарты для технологий.

Чтобы проиллюстрировать пример «стандартного» (хотя и не используется ECMA), подумайте обо всех клавиатурах, которые вы когда-либо использовали. У подавляющего большинства есть письма в том же порядке, а космический бар, ключ ввода, клавиши со стрелками, с номерами, отображаемыми в ряд на вершине? Это потому, что большинство производителей клавиатуры основывают свой дизайн клавиатуры на Qwerty Макет стандарт.

ЭКМА-262.

Это стандарт, опубликованный ECMA International. Он содержит спецификацию для языка сценариев общего назначения.

ECMA-262 – это стандартный, похожий на QWERTY, но вместо того, чтобы представить спецификацию макета клавиатуры, он представляет спецификацию языка сценариев, называемую ECMAScript.

Подумайте о ECMA-262 как ссылочный номер Ecmascript.

Язык сценариев

Язык программирования, разработанный специально для выполнения действующего на существующую сущность или систему

Для общего представления о том, что делает язык программирования языком сценариев, рассмотрим команды «прогулки», «беги» и «прыгать». Эти действия требуют чего-то, чтобы нести их, возможно, человек, собаку или символ видеоигр. Без актера для выполнения этих команд, «прогулка», «беги», а «прыжок» не имеет смысла. Этот набор действий аналогичен языку сценариев, который ориентирован на манипулирование внешним объектом.

Ecmascript

Спецификация, определенная в ECMA-262 для создания языка сценариев общего назначения. Синоним: Спецификация Ecmascript

В то время как ECMA-262 – это имя стандарта, оно представляет собой ECMAScript языка сценариев.

Ecmascript предоставляет правила, детали и руководящие принципы, которые язык сценариев должен наблюдать, как следует считать совместимым Ecmascript.

JavaScript

Язык сценариев общего назначения, который соответствует спецификации Ecmascript.

JavaScript – это ароматизированный кофе, с которым я люблю программировать. Ecmascript – это спецификация, на которой он основан. Читая Спецификация Ecmascript Вы узнаете, как Создать Язык сценариев. Читая JavaScript Документация Вы узнаете, как использовать Язык сценариев.

Когда люди называют JavaScript «Диалект языка Ecmascript», они означают его в том же смысле, что и при разговоре об английском, французском или китайском диалектах. Диалог имеет большую часть своей лексики и синтаксиса со своего родительского языка, но отклоняется достаточно, чтобы заслужить различия.

JavaScript в основном реализует спецификацию Ecmascript, как описано в ECMA-262, но существуют горсть различий. Mozilla отказывается от языка без Ecmascript JavaScript здесь :

Дневник JavaScript

Программа или интерпретатор, который понимает и выполняет код JavaScript.

Синонимы : Переводчик JavaScript, реализация JavaScript

Двигатели JavaScript обычно встречаются в веб-браузерах, включая V8 в Chrome, Spidermonkey в Firefox, а чакра в краю. Каждый двигатель похож на языковой модуль для его применения, что позволяет ему поддерживать определенное подмножество языка JavaScript.

Двигатель JavaScript к браузеру похоже на понимание языка для человека. Если мы повторно посетите наш пример действий «Прогулка», «Run», «Jump», JavaScript Engine – это часть «сущности», которая действительно понимает, что эти действия означают.

Эта аналогия помогает объяснить несколько вещей о браузерах:

Различия в производительности браузера

Два человека могут распознать команду «прыгать», но можно быстрее реагировать на команду, потому что человек может понять и обработать команду быстрее, чем другому человеку. Точно так же два браузера могут понимать код JavaScript, но один запускается быстрее, потому что его двигатель JavaScript реализован более эффективно.

Различия в поддержке браузера

Рассмотрим различия, которые существуют между людьми, которые говорят на одном языке. Даже если много людей говорят по-английски, некоторые могут знать некоторые слова, выражения и строги синтаксиса, которые другие не имеют, а наоборот. Браузеры одинаковы. Несмотря на то, что двигатели браузеров JavaScript все понимают JavaScript, некоторые браузеры имеют большее понимание языка, чем другие. Есть различия в том, как браузеры поддерживают язык.

Что касается поддержки браузера, люди обычно говорят о «совместимости Ecmascript», а не «совместимость JavaScript», даже если двигатели JavaScript разбирают и выполняют … Ну, JavaScript. Это может быть немного запутанным, но есть объяснение.

Если вы вспомните, ECMAScript является спецификацией для того, что язык сценариев мог бы выглядит как. Выпуская новое издание ECMAScript не означает, что все двигатели JavaScript существуют внезапно, имеют те новые функции. Он зависит от групп или организаций, которые несут ответственность за JavaScript Megines, чтобы быть в актуальном состоянии о последней спецификации Ecmascript, а также принять его изменения.

Поэтому разработчики, как правило, задают такие вопросы: «Какая версия Ecmascript поддерживает этот браузер?» Или “какие функции eCmascript используют эту поддержку браузера? «Они хотят знать, если Google, Mozilla и Microsoft взялись на обновление двигателей JavaScript их браузеров – например V8 , Spidermonkey и Чакра соответственно – с функциями, описанными в последнем Ecmascript.

Таблица совместимости Ecmascript это хороший ресурс для ответа на эти вопросы.

Если выходит новое издание Ecmascript, двигатели JavaScript не интегрируют все обновление в одном. Они включают в себя новые функции Ecmascript постепенно, как видно в этом выходе из JavaScript Firefox JavaScript:

JavaScript Runtime

Окружающая среда, в которой код JavaScript работает и интерпретируется двигателем JavaScript. Время выполнения предоставляет объекты HOST, которые JavaScript может работать и работать с.

Синонимы : Хост-среда

Время выполнения JavaScript – это «существующее сущность или систему», упомянутую в определении языка сценариев. Код проходит через JavaScript Engine, а однажды анализируя и понят, сущность или система выполняет интерпретируемые действия. Собака Прогулки, человек Runs, видеоигры скачки символов (или в случае вышеуказанного изображения, разрушения).

Приложения делают себя доступными для сценариев JavaScript, предоставляя «объекты Host» во время выполнения. Для стороны клиента время выполнения JavaScript будет веб-браузером, где объекты хоста, такие как документы Windows и HTML, доступны для манипулирования.

Вы когда-нибудь работали с окном или документом Host объектами? Окно и объекты документа на самом деле не являются частью языка ядра JavaScript. Они являются веб-API, объекты, предоставляемые браузером, выступающим в качестве хост-среды JavaScript. Для сервера стороннее время выполнения JavaScript является Node.js. Серверные объекты, связанные с сервером, такие как файловая система, процессы и запросы, предоставляются в Node.js.

Интересной точкой: разные JavaScript Runtimes могут поделиться одним и тем же JavaScript Engine. V8, например, является JavaScript Engine, используемый как в Google Chrome, так и в Node.js – две очень разные среды.

Ecmascript 6.

Это шестое издание стандарта ECMA-262 и имеет основные изменения и улучшения спецификации Ecmascript.

Синонимы : ES6, ES2015 и Ecmascript 2015

Это издание ECMAScript изменило свое название от ES6 на ES2015, потому что в 2015 году ECMA International решила перейти на годовые выпуски Ecmascript. Соответственно, ECMA International также начала назвать новые издания спецификации ECMASSCRICT на основе года, которые они выпущены. Короче говоря, ES6 и ES2015 – это два разных имена для того же.

Варить

Транспортер, который может конвертировать код ES6 в код ES5.

Разработчики могут использовать Блестящие новые функции, которые поставляются с ES6 , но может быть обеспокоен совместимостью кросс-браузера для их веб-приложений. На момент написания этой статьи EDGE и Internet Explorer не полностью поддерживает функции спецификации ES6.

Заинтересованные разработчики могут использовать Babel, чтобы преобразовать свой код ES6 на функционально эквивалентную версию, которая использует только функции ES5. Все основные браузеры полностью поддерживают ES5, поэтому они могут запустить код без каких-либо проблем.

Еще один интересный тидбит

Я надеюсь, что вы нашли эту информацию о JavaScript и Ecmascript полезны. Прежде чем мы завершите вещи здесь, я бы хотел поделиться еще одним предметом информации, которая должна быть уточнена для того, чтобы выяснить, как я.

Курица или яйцо

Смущает бит истории заключается в том, что JavaScript был создан в 1996 году. Затем он был представлен в ECMA International в 1997 году для стандартизации, что привело к Ecmascript. В то же время, потому что JavaScript соответствует спецификации Ecmascript, JavaScript является примером реализации ECMASSCRICT.

Это оставляет нас с этим забавным фактом: ECMAScript основан на JavaScript, а JavaScript основан на Ecmascript.

Я знаю.

Звучит точно так же, как Time Travel Trope от людей, являющихся своими собственными родителями – маленькой водой, но о том, чтобы думать о.

Все хорошее

Я знаю, что мы все веселились здесь, но это было много информации для переваривания. Я возьму эту возможность сказать прощание.

Пожалуйста, не стесняйтесь оставлять какие-либо вопросы, комментарии, предложения или проблемы ниже.

Большое спасибо за чтение!

Оригинал: “https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/”