Объявление функции и выражение

Основное различие между объявлением функции (FD) и выражением функции (FE) заключается в том, что
FD поднимается, т. е. всегда будет помещаться в верхнюю часть области, что означает, что вы можете выполнять вызовы функции, даже если она объявлена ​​​​позже. в коде.
В случае FE функция не создается до тех пор, пока этот фрагмент кода не будет достигнут в сценарии.
#Анонимная функция — это функция, не имеющая имя, связанное с ним. FE — это, по сути, анонимная функция, назначенная имени переменной (функция как значение).

Выражение немедленно вызываемой функции (IIFE)

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

Стрелочные функции

Стрелочная функция — это синтаксический сахар для написания лаконичного кода с несколькими уникальными характеристиками:

  • У него нет «этого» объекта
  • Неявное возвращаемое значение, когда скобки опущены
  • это всегда выражение, а не утверждение (т.е. не поднято)

Чистые и нечистые функции

Чистая функция — это функция, которая не изменяет значения за пределами своей локальной области видимости.
Нечистая функция зависит от значений, находящихся за пределами ее собственных параметров и/или тела функции.

Функции высшего порядка

Функция более высокого порядка создается путем объединения нескольких функций путем передачи:

  • функции в качестве аргументов и/или
  • возвращающие функции.

Существует множество встроенных функций JS, использующих HOF, например setTimeoutи Array.map

Также проверьте: Замыкания

Ссылка: Fireship.io