> В чем разница между стрелочной и обычной функцией в контексте this в JavaScript? (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Иннотех, Точка, Garage Eight, VK, Домклик, IT-One, Библио-Глобус, ООО Рокет Тех, Rutube, intelsy, Сфера, Арго, TYMY, Purrweb, SmartWay
Стек: JavaScript
> Пример ответа
Главное различие - в том, как они определяют значение this. У обычной функции this задаётся контекстом вызова (динамически): если вызвать её как метод объекта, this будет указывать на этот объект; при вызове без контекста (в строгом режиме) - undefined, в нестрогом - на глобальный объект. Стрелочная функция не имеет собственного this - она наследует его из окружающего лексического контекста (то есть из того места, где была объявлена). Это делает стрелочные функции удобными для колбэков, например, в обработчиках событий или методах массивов, где нужно сохранить this внешней функции. Также стрелочные функции нельзя использовать как конструкторы (вызов с new вызовет ошибку), и у них нет собственного объекта arguments.
> Похожие задачи по frontend
Как работают call stack, callback queue, event loop, микротаски и макротаски в JavaScript
Какие события жизненного цикла HTML-страницы существуют
Как определить, что элемент находится в viewport в JavaScript
Вернёт ли метод map в JavaScript новый массив с новыми объектами или с теми же старыми объектами при добавлении свойства к объектам?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью