Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: область видимости, scope, переменные

Расскажите об области видимости переменных?

Этот вопрос проверяет понимание областей видимости в JavaScript и того, как разные типы переменных (объявленные с var, let, const) влияют на доступ к ним в коде.

Короткий ответ

Область видимости переменной определяет, где в коде эта переменная доступна. В JavaScript существуют глобальная область видимости, блочная область видимости и область видимости функции. Переменные, объявленные с var, имеют функциональную область видимости, а let и const — блочную область видимости, что означает, что они доступны только внутри блока, в котором были объявлены.

Длинный ответ

В JavaScript область видимости определяет контекст, в котором переменная доступна для использования. Есть несколько видов областей видимости:

  • Глобальная область видимости: Переменные, объявленные вне функций или блоков кода, становятся глобальными и доступны по всему коду. Пример:

let globalVar = 'I am global'; function printGlobal() {    console.log(globalVar); // Доступна глобальная переменная } printGlobal(); // 'I am global'
  • Область видимости функции: Переменные, объявленные с помощью var внутри функции, доступны только в этой функции, но не за её пределами. Пример:

function funcScope() {
	var localVar = 'I am local';    
	console.log(localVar); // Доступна внутри функции 
} 
funcScope(); 
console.log(localVar); // Ошибка: localVar не определена
  • Блочная область видимости: Переменные, объявленные с помощью let и const, имеют блочную область видимости, что означает, что они доступны только внутри того блока, где были объявлены, например, внутри цикла или условного оператора:

if (true) {
	let blockVar = 'I am in block';    
	console.log(blockVar); // Доступна внутри блока 
} 
console.log(blockVar); // Ошибка: blockVar не определена
  • Замыкания: Переменные в замыканиях сохраняются, даже если их родительская функция завершена, что позволяет функциям "запоминать" своё окружение.

Понимание областей видимости важно для предотвращения ошибок в коде и эффективного управления переменными.

Уровень

  • Рейтинг:

    3

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#область видимости

#scope

#переменные

Подпишись на React Developer в телеграм