Одним из наиболее значительных изменений в кодировании с приходом ES2015/ES6 является введение еще двух способов объявления переменной. Мы говорим о const и let. Итак, в чем разница между нашим любящим варом и этими новыми приятелями? Когда мы должны использовать const и когда let? Что ж, посмотрим.

Прежде чем приступить к объяснению, важно знать о СФЕРЕ. Вот где переменные доступны для использования.

ВАР

Она была королевой, пока не пришел ES6. Мы использовали его для объявления каждой переменной, не задумываясь. Но здесь важна ОБЛАСТЬ. Объявление с var имеет глобальную или локальную/функциональную область действия. Он имеет глобальную область видимости, когда переменная var объявлена ​​вне функции. Таким образом, эта глобальная переменная доступна для использования во всем коде. С другой стороны, это локально, когда мы объявляем переменную var внутри функции, и она доступна только внутри этой функции. Кроме того, переменные varне могут быть повторно объявлены и обновлены.

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

ПУСТЬ

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

КОНСТ

Переменная Cons используется для объявления постоянных значений. Они не меняются. Константные переменные имеют блочную область действия, как и переменные let, но, в отличие от переменных let и var, константные переменныене могут быть обновлены. Значение переменной, объявленной с помощью const, сохраняет одно и то же значение в пределах своей области действия.
Также мы не можем повторно объявить.

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

Итак, если мы пишем ES6, мы не будем использовать var, просто пусть и const. Кроме того, мы должны думать о том, какой вариант является правильным в каждой ситуации.