Back to questions
Middle
6
Чем отличается стрелочная функция от обычной именованной функции?
Companies where asked
Ростелеком
Answer from AI
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