Junior — Middle
104
Какие отличия существуют между объявлением переменных с использованием let и var в JavaScript?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Переменные, объявленные с помощью var, имеют функциональную область видимости (function scope), тогда как let обладает блочной областью видимости (block scope). Это значит, что переменная с let доступна только внутри ближайших фигурных скобок, например, внутри цикла или условия.
Кроме того, var поднимается (hoisting) и инициализируется значением undefined до выполнения кода, а let тоже поднимается, но не инициализируется — попытка обратиться к переменной до объявления вызовет ошибку (Temporal Dead Zone).
Пример:
function test() {
console.log(a); // undefined
// console.log(b); // ReferenceError
var a = 1;
let b = 2;
}
Также var позволяет повторно объявлять одну и ту же переменную в одной области видимости, что может привести к ошибкам, а let — нет.