В моих беседах с другими инженерами-программистами я почувствовал, что существует общее чувство путаницы в отношении различий между 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.