var имеет область функции, let и const — блока; const запрещает переприсваивание привязки, но не делает объект неизменяемым.
Расскажи про способы объявления переменных в JavaScript: var, let, const. В чём отличия?
var имеет область функции, let и const — блока; const запрещает переприсваивание привязки, но не делает объект неизменяемым.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
var имеет область функции, let и const — блока; const запрещает переприсваивание привязки, но не делает объект неизменяемым.
var можно прочитать до строки объявления как undefined. let/const существуют в temporal dead zone до инициализации: обращение вызовет ReferenceError. const требует начального значения. Для массива const допустим push, но нельзя присвоить переменной другой массив.