Функциональное программирование — это парадигма программирования/стиль кодирования, в котором функции являются королем. Это отличается от императивного программирования и объектно-ориентированного программирования.
Поскольку объектно-ориентированное программирование в JavaScript может быть довольно запутанным, для решения этой проблемы пришло функциональное программирование.
Это декларативныйстиль программирования. Его основное внимание уделяется "что решать", в отличие от императивного стиля, где главное внимание уделяется "как решить". Он использует выражения вместо операторов. Выражение оценивается для получения значения, тогда как оператор выполняется для присвоения переменных.
Почему функциональное программирование?
- Меньше ошибок (без глобальных изменений)
- Больше возможности повторного использования кода
- Легче понять и прочитать
- Супер легко проверить
Принципы функционального программирования
1. Чистые функции
Чистые функции — это функции, которые имеют:
- Хотя бы один аргумент
- Возвращает значение или другие функции
- Не следует изменять ни один из своих аргументов
Чистая функция при одних и тех же входных данных всегда возвращает одни и те же выходные данные и не производит побочных эффектов.
Левое изображение показывает нечистую функцию, так как она использует глобальную переменную и не возвращает значение, а утешает его. С другой стороны, правое изображение показывает чистую функцию.
2. Функции высшего порядка
Функции высшего порядка — это функции, которые:
- Может принимать функции в качестве аргумента
- Функции возврата
- Или оба
В функциональном программировании мыне итерируемпоэтому мы не можем использоватьциклывместо этого мы используем сопоставить, фильтровать иуменьшить.
3. Неизменность
- Не меняйте никаких данных, всегда возвращайте новую копию
- В JavaScript аргументы функций являются ссылками на фактические данные.
Итак, если мы программируем, следуя трем вышеуказанным концепциям, то это будет ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ.