Встречается на собеседованиях • сегодня
В чем разница между стрелочной функцией и обычной функцией
-
Контекст (
this)
У обычной функцииthisдинамический (зависит от вызова), у стрелочной — лексический (берется из внешней области).javascriptconst obj = { name: 'Test', regular: function() { console.log(this.name) }, // 'Test' arrow: () => console.log(this.name) // undefined (если не strict mode — window) };
-
arguments
Обычная функция имеет псевдомассивarguments, стрелочная — нет. -
Использование с
new
Обычную можно вызывать как конструктор (new Func()), стрелочную — нельзя. -
Синтаксис
Стрелочные функции короче, особенно для однострочных выражений:javascriptconst sum = (a, b) => a + b; // return не нужен -
Привязка
super/prototype
У стрелочных нетprototype, они не подходят для методов класса, где нуженsuper.
Когда использовать:
- Стрелочные — для колбэков, сохранения контекста.
- Обычные — методы объектов/классов, конструкторы, функции с
arguments.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы