В моих беседах с другими инженерами-программистами я почувствовал, что существует общее чувство путаницы в отношении различий между ECMA, Javascript, ES6, TypeScript и т. Д. Я считаю важным знать, что эти термины означают для каждого инженера-программиста.

Во-первых, что такое ECMA? ECMA - это организация по стандартизации информационных и коммуникационных систем. ECMA отвечает за стандартизацию таких языков и фреймворков, как C #, Javascript и т. Д. Поскольку эта статья ограничена только Javascript, давайте углубимся в нее.

ECMAScript = ES:

  • ECMAScript - это стандарт для языков сценариев, созданный Netscape.
  • Javascript и некоторые другие языки, такие как JScript и ActionScript, основаны на стандарте ECMAScript.

JavaScript = JS:

  • JavaScript - это реализация стандарта ECMAScript.
  • Основные функции Javascript основаны на стандарте ECMAScript, но Javascript также имеет другие дополнительные функции, которых нет в спецификациях ECMA.
  • JavaScript был отправлен в ECMA для стандартизации, но из-за проблем с товарным знаком с названием Javascript стандарт стал называться ECMAScript.
  • В каждом браузере есть интерпретатор JavaScript.

ES5 = ECMAScript 5:

  • ES5, выпущенный в декабре 2009 г. (v5) и обновленный в 2011 г. (v5.1), представляет собой версию ECMAScript и JavaScript, который мы используем сегодня в браузере.
  • ES5 не требует этапа сборки (транспиляторов), чтобы преобразовать его во что-то, что браузеры могут понять и запустить.
  • В этой версии были представлены такие функции, как «строгий режим» и «аксессоры».

ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:

  • ES2015, выпущенная в июне 2015 года, является последней версией ECMAScript. ES6 - это следующая итерация JavaScript, но она не полностью поддерживается современными браузерами.
  • Это обновление добавляет значительный новый синтаксис для написания сложных приложений, включая классы и модули. Другие функции, которые были представлены, - это циклы for / of, стрелочные функции и т. Д.
  • Для того, чтобы код ES6 работал в браузерах, существует дополнительный этап транспиляции в код ES5 одним из доступных транспиляторов. Я описал одну чуть ниже.

BabelJS:

  • BabelJS - самый популярный транспилятор, который преобразует код Javascript ES6 в код ES5, что позволяет использовать функции ES6.
  • BabelJS берет файл ES2015 и преобразует его в файл ES5.
  • Babel построен из плагинов и очень настраиваемый.

TypeScript и CoffeeScript:

  • TypeScript и CoffeeScript добавляют синтаксический сахар поверх ES5, а затем преобразуются в совместимый с ES5 JavaScript.

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