В этой статье я познакомлю вас с обновлением ES6, ECMAScript 6 или ES2015.

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

Я расскажу, что это такое, почему это так важно и расскажу о новых операторах let и const.

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

Что это?

ECMAScript — это спецификация языка сценариев, изначально созданная для стандартизации JavaScript, но затем распространившаяся на другие языки.

Как следует из названия, ECMAScript 6 — это шестая версия этой спецификации, также известная как ES6 или ES2015.

Почему это так важно?

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

Операторы объявления переменных — let и const

В этой версии языка одним из основных дополнений были новые операторы объявления переменных: let и const.

Чтобы понять, что изменилось, я начну объяснять, как все работает, используя ранее использованный способ, используя оператор var.

Вар

До этой версии единственным оператором, доступным для объявления переменных, был var. Было немного странно, когда этот оператор использует концепцию подъема, поднимая все объявления переменных в начало контекста выполнения:

Эта функция зарегистрирует сообщение «Зарегистрируйте меня!»

Это странно, потому что в большинстве парадигм программирования (если не во всех) вы должны объявить переменную, прежде чем использовать ее.

В этом случае он должен работать, даже если вы не объявляете переменную, удаляя строку 4 без строгого режима (который включен по умолчанию, начиная с ES6, но выходит за рамки этой статьи). Это происходит потому, что в этой ситуации JavaScript объявит эту неявно объявленную переменную в верхней части контекста.

Эта особенность затрудняет прогнозирование кодов и поиск точного поведения даже в некоторых простых ситуациях, таких как ниже:

Эта функция будет регистрировать «Out of if message». и «В сообщение if».

В этом случае легко понять, что трудно понять, что на самом деле представляет собой блок области действия с var. Переменная «messageIn», объявленная в операторе if, доступна из него.

Позволять

Из-за этой проблемы был создан новый оператор объявления переменных: оператор let.

Цель этого нового оператора — ограничить область видимости переменных блоками. Другими словами, переменная, объявленная с помощью let, доступна только в том блоке, в котором она была объявлена, что намного проще для понимания.

Обычно блок определяется фигурными скобками, за некоторыми исключениями.

Давайте посмотрим, как это работает, используя тот же пример выше, заменив var на let:

Эта функция будет регистрировать «Out of if message». и выдать ошибку

В этом случае код напечатает содержимое «messageOut» и выдаст ошибку ReferenceError, поскольку «messageIn» не определен.

Это происходит потому, что условие if создает блок, поэтому все, что в нем определено, будет доступно только до конца if.

Постоянная

Оператор const следует той же стратегии области действия, что и оператор let, но с большим отличием: после объявления значение не может быть переназначено.

См. пример ниже:

Эта функция будет регистрировать «Первое сообщение». и выдать ошибку

Когда эта функция вызывается, она объявляет «Первое сообщение». строку в переменную «сообщение», зарегистрируйте ее и попробуйте подписать «Второе сообщение». string в ту же переменную, которая выдает TypeError, потому что не разрешено выполнять присваивание константной переменной.

Вывод

Мы обсудили, что такое ES6, его важность и основные различия между доступными операторами объявления переменных: var, let и const.

Надеюсь, вам понравилась эта первая статья. Как только сделаю новый, скину сюда ссылку.

Спасибо.

В следующей статье я писал о стрелочных функциях. Проверьте это по ссылке ниже: