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

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

Стрелочные функции в классе автоматически привязывают контекст this к экземпляру класса, а именованные функции — нет. Это связано с тем, что стрелочные функции не имеют собственного this и берут его из лексического окружения (класса).

javascript
class Example {
  arrow = () => console.log(this); // this всегда экземпляр класса
  method() { console.log(this); }  // this зависит от контекста вызова
}

const obj = new Example();
obj.arrow(); // Example {}
const fn = obj.method;
fn(); // undefined (в strict mode) или window (без strict mode)

Итог:

  • Стрелочные — this фиксирован.
  • Именованные — this динамический, требует .bind(this) или вызова через экземпляр.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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