Sobes.tech
Назад к вопросам
Middle
7

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

Компании, где спрашивали
Мыс

Ответ от нейросети

sobes.tech AI

Основные отличия стрелочных функций от обычных функций в JavaScript:

  • Контекст this: стрелочные функции не имеют собственного this. Они наследуют this из окружающего лексического контекста. Обычные функции имеют собственный this, который зависит от способа вызова.

  • Отсутствие arguments: стрелочные функции не имеют объекта arguments. Для доступа к аргументам нужно использовать параметры или rest-оператор.

  • Нельзя использовать как конструктор: стрелочные функции нельзя вызвать с new.

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

Пример:

const obj = {
  value: 42,
  regularFunc: function() { return this.value; },
  arrowFunc: () => this.value
};

console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc());   // undefined (this не указывает на obj)