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

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

  1. Контекст (this)
    У обычной функции this динамический (зависит от вызова), у стрелочной — лексический (берется из внешней области).

    javascript
    const obj = {
      name: 'Test',
      regularFunc: function() { console.log(this.name) }, // 'Test'
      arrowFunc: () => console.log(this.name) // undefined (если не strict mode)
    };
  1. Аргументы (arguments)
    Обычная функция имеет псевдомассив arguments, стрелочная — нет.

  2. Использование с new
    Обычную можно вызывать с new (как конструктор), стрелочную — нельзя.

  3. Синтаксис
    Стрелочные функции короче, особенно для однострочных выражений.

    javascript
    const sum = (a, b) => a + b;
  4. Привязка super и prototype
    У стрелочных нет prototype, они не подходят для методов класса, где нужен super.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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