Если вы знакомы с JavaScript, то вы уже знакомы с EMCAScript, а точнее с подмножеством ECMAScript. JavaScript - один из самых популярных языков программирования в настоящее время на рынке. Он хорошо известен, и, кстати, это один из первых языков, который обычно изучают программисты, прежде чем перейти к более сложным языкам.

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

JavaScript против ECMAScript

ECMAScript, или еще более упрощенный как ES, - это спецификация языка сценариев, разработанная Ecma International и предназначенная для стандартизации JavaScript.

Разница в названиях возникает из-за проблем с авторским правом. Первоначально JavaScript был написан Бренданом Эйхом из Netscape, сначала под именем Moca, затем LiveScript, до того, как JavaScript был доработан и выпущен для общественности Sun Microsystems и Netscape.

Популярность JavaScript как языка сценариев на стороне клиента выросла, и Microsoft разработала совместимый диалект этого языка, назвав его JScript. Затем он был доставлен Netscape в Ecma International для стандартизации, где ему было дано официальное название ECMAScript.

Особенности ES2015

ES2016 - значительное обновление, поскольку это было первое обновление языка после ES5, стандартизованного в 2009 году.

Вот некоторые из представленных новых функций:

«Let» - это новая переменная «var» - ее можно рассматривать как новую переменную. Теперь мы можем использовать let, которая дает нам область видимости на уровне блока. Это означает, что переменные, объявленные с помощью let, недоступны за пределами области действия блока, в которой они объявлены. А для переменных, объявленных с помощью «const», их ссылки не могут быть обновлены.

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

Добавлены стрелки. Еще одно приятное дополнение - сокращенный синтаксис, в котором используются знаки "больше или меньше". Он похож на синтаксис, используемый в C #, Java или CoffeeScript. Он поддерживает как тела блоков операторов, так и тела выражений.

Строки шаблона. Вместо того, чтобы объединять несколько строк и использовать разрыв строки, мы можем просто использовать обратные кавычки (``) вместо точки с запятой, и у нас может быть несколько строк. Это значительно упрощает работу, а также позволяет нам использовать интерполяцию строк, при которой мы можем включать переменные прямо в строку шаблона.

Уничтожение - это позволяет привязку с использованием сопоставления с образцом и поддерживает сопоставление массивов и объектов.

Итераторы и итерации - это новый механизм просмотра данных. Итерируемый объект - это структура данных, которая хочет сделать свои элементы доступными и делает это путем реализации метода, ключ которого - symbol.iterator. Итератор - это указатель для обхода элементов структуры данных, он встроен в итерируемые объекты, такие как строка, массив, карта и набор. Он также позволяет создавать определяемые пользователем итерации.

Генераторы - новый особый вид функций. Их уникальность состоит в том, что их можно остановить или приостановить, а затем перезапустить. Он обеспечивает двустороннюю передачу сообщений в генератор и из него.

Модули - ES6 поддерживает модули на уровне языка для определения концепции, и мы можем использовать шаблоны из популярных загрузчиков модулей JS, таких как AMD и CommonJS. Мы можем использовать требуемый синтаксис или синтаксис импорта / экспорта.

Новые структуры данных или новые коллекции - SET, MAP, WEAKMAP, WEAKSET. Это новые способы хранения наборов, коллекций или значений, и у нас есть специальные методы, которые мы также можем запускать для этих наборов данных.

Прокси-серверы - позволяют создавать объекты с полным набором функций, доступных для размещающих объектов. Они используются для перехвата, виртуализации объектов и регистрации / профилирования.

Символы - новый тип примитива, который можно использовать в качестве идентификатора для свойств проекта. Они позволяют управлять доступом для состояния объекта, а свойства могут быть заданы ключом либо «строкой» (ES5), либо «символом», и каждый символ имеет свою собственную идентичность.

Новые числовые и математические функции - теперь вы можете указывать целые числа в шестнадцатеричном (0xFF), двоичном (ob11) и восьмеричном (0o10) виде. Глобальное число также имеет новые свойства, такие как Number.EPSILON, которое сравнивает числа с плавающей запятой с допуском на ошибки округления.

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

JavaScript - мощный язык, который стоит иметь в арсенале разработчика. Если вы хотите изучить ECMAScript и его связь с JavaScript, а также то, как начать работать с этим удивительным языком, вы можете пройтись по этому замечательному курсу.

Если вам понравилась эта статья, ставьте лайки, комментируйте и делитесь. Спасибо!