Что важно понять
Arrow functions (=>) — короткий синтаксис функций. В JS их часто называют lambda. Ключевые отличия от function:
- нет своего
this, arguments, super, new.target — берут из лексического окружения;
- нельзя вызвать через
new;
- компактное тело:
(x) => x * 2.
const nums = [1, 2, 3];
nums.map((n) => n * 2);
const obj = {
n: 10,
delay() {
setTimeout(() => console.log(this.n), 0);
},
};
Не ставь стрелку как метод, которому нужен динамический this от вызова.
Итог: стрелки — короткие колбэки с лексическим this; не универсальная замена function.