ES5 представил функцию стрелки в JavaScript. Есть некоторые различия между нормальной функцией и функцией стрелки. Я буду обсуждать разницу в этом блоге.

Синтаксис

Синтаксис нормальной функции

Синтаксис стрелочной функции

this ключевое слово

Теперь попытайтесь понять приведенный выше код. В объекте person есть два метода. Одна из них — функция стрелки, а остальные — обычная функция. Оба они делают одно и то же, но результаты не одинаковы. Почему?

Потому что this в стрелочной функции указывает на самое родительское значение. В этом коде большинство родительских значений является глобальным объектом. По этой причине печатается пустой объект.

Если вы запустите этот код в консоли браузера, вы получите это.

С другой стороны, this в обычной функции указывает на текущее предыдущее значение.

Конструктор

Ключевое слово new не работает в функции стрелки при создании нового экземпляра.

Хостинг

Функция стрелки не разрешает подъем.

Возвращаемое значение

Стрелочной функции не нужно ключевое слово return в возвращаемом значении одной строки.

Первоначально опубликовано на https://sahedthought.hashnode.dev.