В чём разница между var, let и const?
Уровень: Junior
Ответ
Ключевые слова `let` и `const` введены в ES6 и решают ряд проблем `var`. Переменные, объявленные через `var`, имеют функциональную или глобальную область видимости и поднимаются (hoisting) в начало функции. `let` и `const` имеют блочную область видимости (доступны только внутри блока `{ ... }`) и не поднимаются – использование до объявления вызывает ошибку. Кроме того, переменную `var` можно повторно объявлять в одной области, а `let`/`const` – нельзя. `const` сходен с `let`, но присваивание значения обязательно сразу при объявлении, и дальнейшее переназначение этому идентификатору запрещено (то есть сама ссылка остаётся константой).