> В чем разница между стрелочной и обычной функцией в контексте this в JavaScript? (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Иннотех, Точка, Garage Eight, VK, Домклик, IT-One, Библио-Глобус, ООО Рокет Тех, Rutube, intelsy, Сфера, Арго, TYMY, Purrweb, SmartWay

Стек: JavaScript

> Пример ответа

Главное различие - в том, как они определяют значение this. У обычной функции this задаётся контекстом вызова (динамически): если вызвать её как метод объекта, this будет указывать на этот объект; при вызове без контекста (в строгом режиме) - undefined, в нестрогом - на глобальный объект. Стрелочная функция не имеет собственного this - она наследует его из окружающего лексического контекста (то есть из того места, где была объявлена). Это делает стрелочные функции удобными для колбэков, например, в обработчиках событий или методах массивов, где нужно сохранить this внешней функции. Также стрелочные функции нельзя использовать как конструкторы (вызов с new вызовет ошибку), и у них нет собственного объекта arguments.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью