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

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

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

  1. Контекст (this):
  • В классической функции this динамический (зависит от вызова)
  • В стрелочной this берется из окружающего контекста (лексический)
javascript
const obj = {
  classic: function() { console.log(this) },
  arrow: () => console.log(this)
}

obj.classic() // obj
obj.arrow() // window (или undefined в strict mode)

text

2. Доступ к `arguments`:
- Классическая имеет объект arguments
- Стрелочная - нет

3. Использование с `new`:
- Классическую можно вызывать с `new` (как конструктор)
- Стрелочную - нельзя

4. Синтаксис:
- Стрелочные короче, особенно для однострочных возвратов

```javascript
const sum = (a, b) => a + b
  1. Методы call/apply/bind не меняют this стрелочной функции
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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