Логотип 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


Что такое "всплытие" (hoisting) в контексте переменных и функций?

Hoisting (всплытие) - это механизм в JavaScript, при котором объявления переменных и функций "поднимаются" в начало своей области видимости. Объявления функций поднимаются полностью, а переменные, объявленные через var - только объявление, но не инициализация. let и const также всплывают, но не инициализируются до фактического объявления.

Подробнее

Какие виды объявления функций всплывают (hoisting)?

Полностью всплывают только Function Declarations (объявления функций). Function Expressions (функциональные выражения), включая стрелочные функции, не всплывают - всплывает только объявление переменной, но не присваивание функции. Объявления классов также не всплывают.

Подробнее

Что произойдёт при обращении к переменной до объявления через var?

При обращении к переменной, объявленной через var, до её объявления ошибки не будет. Переменная будет существовать, но её значение будет undefined. Это происходит из-за механизма поднятия объявлений. Однако инициализация значения происходит только в месте фактического объявления. Такое поведение часто приводит к трудноуловимым ошибкам.

Подробнее

Как hoisting работает для var, let и const

Hoisting — это когда объявления “обрабатываются” до выполнения кода. У var объявление поднимается и переменная сразу инициализируется как undefined, поэтому к ней можно обратиться до строки объявления (получишь undefined). У let и const тоже есть поднятие объявления, но до фактической инициализации переменная находится в TDZ (temporal dead zone), и доступ к ней до объявления вызывает ReferenceError. const дополнительно требует инициализацию сразу при объявлении.

Подробнее

Как объявляются функции в JavaScript и чем отличаются function declaration и arrow function?

Function declaration объявляется через ключевое слово function и поднимается (hoisting). Arrow function записывается через стрелочный синтаксис и не имеет собственного this. Также arrow function нельзя использовать как конструктор и у нее нет arguments.

Подробнее

В какой момент создаются переменные внутри функции?

Если внутри функционального компонента объявить стрелочную функцию ниже места её вызова — сработает ли это? Почему?

  • Рейтинг:

    4

  • Сложность:

    6

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

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

    4

  • Сложность:

    3

Нет, не сработает. Стрелочные функции не подвержены hoisting'у, в отличие от обычных функций. Они ведут себя как переменные, объявленные через const или let, и находятся во временной мёртвой зоне до момента инициализации. Поэтому вызов до объявления приведёт к ошибке ReferenceError.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    2

  • Сложность:

    7

  • Рейтинг:

    5

  • Сложность:

    4

  • Рейтинг:

    5

  • Сложность:

    8

  • Рейтинг:

    5

  • Сложность:

    5