Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: arrow, function

Почему стрелочные функции не имеют собственного this?

Вопрос проверяет понимание контекста выполнения функций и особенностей стрелочных функций.

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

Стрелочные функции не создают собственный this, потому что они берут его из внешней лексической области видимости. Такое поведение делает их предсказуемыми и избавляет от необходимости использовать bind. Это было сделано специально для упрощения работы с колбэками. Контекст определяется в момент создания функции. Изменить его невозможно.

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

Стрелочные функции были добавлены в JavaScript для упрощения работы с функциями и контекстом.

Как работает this у стрелочных функций

  1. Отсутствие собственного контекста
    Стрелочная функция не создаёт:

    • this

    • arguments

    • super

  2. Лексическое связывание this
    Значение this берётся из внешнего лексического окружения.

  3. Фиксация при создании
    Контекст определяется в момент объявления функции, а не вызова.

Пример

function Timer() {
  this.seconds = 0

  setInterval(() => {
    this.seconds++
  }, 1000)
}

Здесь стрелочная функция использует this из Timer, а не из setInterval.

Практические следствия

  • нельзя использовать call, apply, bind

  • удобно для обработчиков и колбэков

  • не подходит для методов объектов

Вывод

Стрелочные функции используют лексический this, что делает их поведение стабильным и удобным в асинхронном коде.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

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

#arrow

#function

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию