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

Какие есть особенности у стрелочных функций?

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

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

sobes.tech AI

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

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

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

  • Нельзя использовать как конструктор: стрелочные функции нельзя вызвать с new, они не имеют внутреннего метода [[Construct]].

  • Нет prototype: у стрелочных функций отсутствует свойство prototype.

  • Синтаксис короче: если тело функции состоит из одного выражения, можно опустить фигурные скобки и return.

Пример:

const add = (a, b) => a + b;

const obj = {
  value: 10,
  increment: function() {
    setTimeout(() => {
      this.value++;
      console.log(this.value); // this ссылается на obj
    }, 1000);
  }
};
obj.increment();

Здесь стрелочная функция внутри setTimeout наследует this от метода increment.