Ответ
Функциональное программирование (ФП) основывается на нескольких ключевых принципах:
- Чистые функции – функции без побочных эффектов, которые для одних и тех же входных данных всегда возвращают одинаковый результат.
// Чистая функция
const add = (a, b) => a + b;
- Неизменяемость (Immutability) – данные не изменяются, а создаются новые.
const arr = [1, 2, 3];
const newArr = [...arr, 4]; // вместо arr.push(4)
- Функции высшего порядка – функции, принимающие или возвращающие другие функции.
const map = (arr, fn) => arr.map(fn);
-
Рекурсия – замена циклов вызовами функции самой себя.
-
Композиция функций – объединение функций в цепочки.
const compose = (f, g) => x => f(g(x));
- Каррирование – преобразование функции с множеством аргументов в цепочку функций с одним аргументом.
const add = a => b => a + b;
add(2)(3); // 5
Эти концепции помогают писать предсказуемый, тестируемый и декларативный код.