Стрелочные функции используют компактный синтаксис с оператором =>, тогда как традиционные функции используют ключевое слово function:
// Традиционная функция
function greet(name) { return "Hello " + name; }
// Стрелочная функция
const greet = (name) => "Hello " + name;
thisЭто самое критическое различие между ними:
this, который зависит от того, как функция была вызванаthis — они наследуют this лексически из окружающей области видимости в момент определенияthisnew, и они имеют свойство prototypenew на них бросает TypeErrorprototypeargumentsconst sum = (...args) => args.reduce((a, b) => a + b, 0);
map, filter) и в любой ситуации, где нужно сохранить внешний thisthis или доступ к argumentsСтрелочные функции наследуют this лексически из окружающей области видимости в момент определения, в то время как обычные функции имеют собственный this, определяемый тем, как они вызываются.
Новый — ещё не проверен сообществом
Вы