Какие есть особенности у стрелочных функций?
Answer from AI
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.