Функциональное программирование — это парадигма программирования/стиль кодирования, в котором функции являются королем. Это отличается от императивного программирования и объектно-ориентированного программирования.

Поскольку объектно-ориентированное программирование в JavaScript может быть довольно запутанным, для решения этой проблемы пришло функциональное программирование.

Это декларативныйстиль программирования. Его основное внимание уделяется "что решать", в отличие от императивного стиля, где главное внимание уделяется "как решить". Он использует выражения вместо операторов. Выражение оценивается для получения значения, тогда как оператор выполняется для присвоения переменных.

Почему функциональное программирование?

  1. Меньше ошибок (без глобальных изменений)
  2. Больше возможности повторного использования кода
  3. Легче понять и прочитать
  4. Супер легко проверить

Принципы функционального программирования

1. Чистые функции

Чистые функции — это функции, которые имеют:

  • Хотя бы один аргумент
  • Возвращает значение или другие функции
  • Не следует изменять ни один из своих аргументов

Чистая функция при одних и тех же входных данных всегда возвращает одни и те же выходные данные и не производит побочных эффектов.

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

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

Функции высшего порядка — это функции, которые:

  1. Может принимать функции в качестве аргумента
  2. Функции возврата
  3. Или оба

В функциональном программировании мыне итерируемпоэтому мы не можем использоватьциклывместо этого мы используем сопоставить, фильтровать иуменьшить.

3. Неизменность

  • Не меняйте никаких данных, всегда возвращайте новую копию
  • В JavaScript аргументы функций являются ссылками на фактические данные.

Итак, если мы программируем, следуя трем вышеуказанным концепциям, то это будет ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ.