Вы столкнетесь со стрелочной функцией при изучении javascript. В ES6 стали доступны стрелочные функции. Между стрелочной функцией и обычной функцией есть существенные различия. Эти различия перечислены ниже.

  1. Синтаксис:

Стрелочные функции: Стрелочные функции имеют краткий синтаксис с использованием оператора =› (стрелка).

Обычные функции. Обычные функции определяются с помощью ключевого слова функция, за которым следует имя и круглые скобки.

Пример:

Примечание. В обычной функции для возврата любого значения необходимо использовать ключевое слово return. Если вы ничего не вернете, функция вернет значение undefined. Точно так же ведут себя стрелочные функции при возврате значений. Если стрелочная функция содержит одно выражение, можно опустить фигурные скобки, и тогда выражение будет возвращено неявно.

2. Привязка this:

  • Стрелочные функции: Стрелочные функции не имеют своего контекста. Они лексически связывают это с окружающим контекстом, что означает, что они наследуют это от родительской области видимости (внешнего контекста).
  • Обычные функции. Обычные функции имеют свой контекст, который определяется тем, как они вызываются. Значение может варьироваться в зависимости от вызова функции.

Пример:

3. Используйте в качестве конструкторов:

  • Стрелочные функции: стрелочные функции нельзя использовать в качестве конструкторов. У них отсутствует свойство prototype, и они не могут быть созданы с помощью нового ключевого слова.

Пример:

  • Обычные функции. Обычные функции можно использовать в качестве конструкторов, вызывая их с помощью ключевого слова new. У них есть свойство прототип, позволяющее создавать экземпляры объектов.

Пример:

4. Нет повторяющихся параметров:

Функция стрелки: Функция стрелки никогда не может иметь повторяющийся параметр.

Пример:

Обычная функция: Обычная функция может иметь повторяющиеся параметры.

Пример:

Примечание. В строгом режиме параметр-дубликат не будет работать в обычной функции.

5.Подъем:

Функция стрелки: в функции стрелки функция поднимается там, где вы ее определяете. Итак, если вы вызовете функцию до инициализации, вы получите ссылку Error.

Пример:

Обычная функция: в обычной функции функция поднимается вверху.

Пример:

6. Наличие «аргументов»:

  • Стрелочные функции: Стрелочные функции не имеют собственного объекта аргументов.

Пример:

Примечание. Мы можем получить доступ к аргументам в стрелочной функции с помощью оператора rest:

  • Обычные функции: Обычные функции имеют доступ к своим собственным объектам аргументов.

Пример:

Заключение:

Важно выбрать подходящий тип функции, исходя из конкретных требований вашего кода. Стрелочные функции обычно используются из-за их лаконичного синтаксиса и лексической области видимости, в то время как обычные функции обеспечивают большую гибкость и функциональность, особенно в случаях, когда требуется динамическое связывание или использование аргументов или super.

Продолжайте кодировать.