Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

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

Вопросы React Frontend Developer


Как работают статические и динамические области видимости (scope)?

Как движок JavaScript ищет ссылки на переменные в определенном scope?

Что такое scope в JavaScript?

  • Рейтинг:

    3

  • Сложность:

    5

Статическая область видимости (или лексическая область) означает, что правила определения видимости переменных устанавливаются на этапе написания кода, а не во время выполнения. Это значит, что функции запоминают свое окружение, в котором были созданы. Динамическая область видимости, в отличие от этого, определяется тем, как функции вызываются, а не как они определены, что более характерно для некоторых других языков. В JavaScript используется именно статическая область видимости.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    8

JavaScript использует механизм, называемый "лексическое окружение", для поиска ссылок на переменные в определенном scope (области видимости). Когда функция вызывается, создается новое лексическое окружение, которое включает в себя ссылки на переменные, объявленные в родительских scopes. Если переменная не найдена в текущем scope, движок продолжает поиск в родительских scopes до тех пор, пока не найдет переменную или не достигнет глобального scope.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    3

Scope (область видимости) определяет, где переменные и функции доступны в коде. В JavaScript есть глобальная, функциональная и блочная области видимости. Переменные, объявленные с var, имеют функциональную область видимости, а let и const — блочную. Вложенные функции имеют доступ к переменным внешних функций благодаря лексическому окружению.
Подробнее