Я попытаюсь объяснить следующие ключевые слова JavaScripts:

  • var
  • пусть
  • const

var:

С «var» существует только два типа области видимости для переменной. Существует глобальная область видимости, в которую мы поместим переменную, если мы определим переменную с помощью «var» вне какой-либо функции. Кроме того, существует область видимости функции для переменной, определенной внутри функции. Но здесь нет области видимости блока, и это является источником путаницы и случайных ошибок.

Поскольку объявления переменных (и объявления в целом) обрабатываются до выполнения любого кода, объявление переменной в любом месте кода эквивалентно объявлению ее вверху. Это также означает, что переменная может использоваться до ее объявления. Такое поведение называется «подъемом», поскольку кажется, что объявление переменной перемещается в начало функции или глобального кода.

Ссылка для ключевого слова var:

позволять:

let позволяет нам определять переменные. Ранее мы объявляли наши переменные с помощью ключевого слова «var». Но у него есть некоторые ограничения, когда дело доходит до области видимости, так как он не предлагает область видимости блока. Но теперь, используя ключевое слово let, мы можем объявлять переменные с истинно блочной областью видимости.

Повторное объявление той же переменной в пределах той же функции или области действия блока вызывает TypeError.

В ECMAScript 6 let поднимет переменную в верхнюю часть блока. Однако ссылка на переменную в блоке перед объявлением переменной приводит к ReferenceError. Переменная находится во временной мертвой зоне от начала блока до обработки объявления.

Ссылка на ключевое слово let:

const:

Мы будем использовать ключевое слово «const» для создания и инициализации переменной только для чтения, которая будет содержать постоянное значение и то, что мы никогда не сможем изменить. В ES6 «const» будет иметь область видимости блока, как и ключевое слово «let». Значение константы не может измениться путем переназначения и не может быть повторно объявлено. Константа не может использовать свое имя совместно с функцией или переменной в той же области видимости.

Мне лично нравится определение в MDN для const:

Объявление const создает доступную только для чтения ссылку на значение. Это не означает, что хранимое в нем значение неизменяемо, просто идентификатор переменной нельзя переназначить.

Ссылка на ключевое слово const:

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

  1. В чем разница между использованием let и var для объявления переменной?
  2. JavaScript ES6 +: var, let или const? от Эрика Эллиота
  3. Переменные Javascript; следует ли использовать let, var или const?