В този блог ще разгледаме какво е функционално програмиране в javascript.

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

И така, функционалното програмиране е програмна парадигма като обектно-ориентирания език за програмиране (OOPS). Всяка програмна парадигма има различни правила за структуриране на нашия код за решаване на всеки проблем. Функционалното програмиране е изобретено през 50-те години на миналия век, но набира популярност през последните няколко години.

Функционалното програмиране разделя проблем на много малки и многократно използваеми проблемни функции, които приемат някои входни данни и връщат резултат и не мутират или променят данни.

Основните предимства на тези малки функции за многократна употреба са лесни за отстраняване на грешки и тестване, те са по-сбити и мащабируеми, защото можем да изпълняваме много извиквания на функции паралелно и да се възползваме от множество ядра на нашия процесор. Така че това са основната причина функционалното програмиране да придобие голяма популярност. Но също така трябва да знаете, че javascript е многопарадигмен език за програмиране, а не чисто функционален език за програмиране като Closure и Haskell.

Както вече знаете, функцията на javascript е първокласен гражданин, което означава, че можем да третираме функция като променлива, можем да присвоим функция на променлива и да предадем функция като аргумент и също да върнем функция.

Пример:присвояване на функция на променлива.

Пример:върнете функция.

Пример:функциятапреминава като аргумент.

Функция от по-висок ред

Функция от по-висок ред приема функция като аргумент или връща функция, или и двете. Така че вместо да работи върху която и да е стойност като низ, булева стойност или числа, функцията на javascript може да отиде по-високо и също да работи върху функция, ето защо тези функции се наричат ​​функция от по-висок ред и може да не знаете, но има шанс, вече сте използвали многократно тези функции от по-висок ред, като функцията mapиsetTimeoutкоито приемат функция като аргумент.

Пример: map и setTimeout

Функционален състав

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

Можем да научим това чрез пример, в който вземаме низ като аргумент и преобразуваме този аргумент в малки букви и след това обгръщаме този вход в елемент div, за да направим това, можем да използваме многократно използваем функционален компонент на всяка стъпка.

В този пример първият метод, който е функция със стрелка, приема аргумент, за да го преобразува в малки букви и след това втората функция wrapInDiv, която приема низ като аргумент и обвива този низ в елемент Div. Предаваме първата функция, която е convertToLowerCase, като аргумент на wrapInDiv, който обвива резултата convertToLowerCase с елемент Div.