Я попытаюсь объяснить следующие ключевые слова 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:
Я постараюсь добавить больше ресурсов, чтобы лучше понять разницу между этими ключевыми словами и узнать, когда лучше использовать одно перед другим.