Встречается на собеседованиях • сегодня

В чем разница между обычной и стрелочной функции

Основное отличие стрелочной функции от обычной — контекст this. В стрелочной функции this берется из внешнего лексического окружения, а в обычной — зависит от вызова.

Пример с this:

javascript
const obj = {
  name: 'Test',
  regularFunc: function() {
    console.log(this.name); // 'Test'
  },
  arrowFunc: () => {
    console.log(this.name); // undefined (если не в строгом режиме)
  }
};
obj.regularFunc(); // работает
obj.arrowFunc(); // не работает, this === window/global

Другие отличия:

  • У стрелочных нет arguments, но можно использовать rest-оператор (...args).
  • Стрелочные нельзя использовать как конструктор (new вызовет ошибку).
  • У них нет своего super и prototype.

Синтаксис:

javascript
const sum = (a, b) => a + b; // стрелочная
function sum(a, b) { return a + b; } // обычная
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы