Back to questions
Middle+
1
Что такое область видимости и лексическое окружение в JavaScript? Чем отличается var от let/const?
Companies where asked
Tilda
Answer from AI
sobes.tech AI
Область видимости (scope) в JavaScript — это контекст, в котором доступны переменные и функции. Лексическое окружение — это структура, которая хранит переменные и функции, доступные в текущем месте кода, и определяется во время написания кода, а не во время выполнения.
Разница между var и let/const:
- var имеет функциональную область видимости, то есть переменная доступна во всей функции, где объявлена.
- let и const имеют блочную область видимости, то есть доступны только внутри блока (например, внутри фигурных скобок).
- var допускает повторное объявление переменной в одной области видимости, let и const — нет.
- const объявляет константу, значение которой нельзя переназначить после инициализации.
Пример:
function example() {
if (true) {
var x = 1;
let y = 2;
const z = 3;
}
console.log(x); // 1
console.log(y); // ReferenceError
console.log(z); // ReferenceError
}
example();