ES5 представил функцию стрелки в JavaScript. Есть некоторые различия между нормальной функцией и функцией стрелки. Я буду обсуждать разницу в этом блоге.
Синтаксис
Синтаксис нормальной функции
Синтаксис стрелочной функции
this
ключевое слово
Теперь попытайтесь понять приведенный выше код. В объекте person
есть два метода. Одна из них — функция стрелки, а остальные — обычная функция. Оба они делают одно и то же, но результаты не одинаковы. Почему?
Потому что this
в стрелочной функции указывает на самое родительское значение. В этом коде большинство родительских значений является глобальным объектом. По этой причине печатается пустой объект.
Если вы запустите этот код в консоли браузера, вы получите это.
С другой стороны, this
в обычной функции указывает на текущее предыдущее значение.
Конструктор
Ключевое слово new
не работает в функции стрелки при создании нового экземпляра.
Хостинг
Функция стрелки не разрешает подъем.
Возвращаемое значение
Стрелочной функции не нужно ключевое слово return
в возвращаемом значении одной строки.
Первоначально опубликовано на https://sahedthought.hashnode.dev.