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

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

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

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

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

  3. Синтаксис и return
    Стрелочные функции можно писать короче:

    javascript
    const sum = (a, b) => a + b; // return не нужен
  4. Привязка методов
    Стрелочные не подходят для методов объекта, если нужен доступ к this объекта.

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

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

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

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