Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: функции, this, arguments

Что такое стрелочные функции и чем они отличаются от обычных функций?

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

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

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

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

Стрелочные функции — это сокращенный синтаксис для создания функций, введенный в ES6 (ECMAScript 2015). 

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

Пример стрелочной функции:

const add = (a, b) => a + b; 
console.log(add(2, 3)); // 5

Основные отличия стрелочных функций от обычных:

  1. Контекст this: Стрелочные функции не имеют собственного this и захватывают его из окружающей области.

  2. Синтаксис: Они короче и удобнее для однострочных выражений.

  3. Отсутствие arguments: Стрелочные функции не имеют объекта arguments, поэтому нужно использовать rest-параметры для получения списка аргументов.

  4. Нельзя использовать как конструктор: Стрелочные функции нельзя использовать с ключевым словом new.

Пример с контекстом:

function Person() {  
	this.age = 0;  
	setInterval(() => {    
		this.age++; // 'this' берется из внешней функции    
		console.log(this.age);  
	}, 1000); 
} 
const p = new Person();

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

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

#функции

#this

#arguments

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