Функция высшего порядка – это функция, которая:
Это понятие является краеугольным камнем функционального программирования в JavaScript.
Методы массивов JavaScript – самые распространённые функции высшего порядка:
map() – трансформирует каждый элемент и возвращает новый массивfilter() – возвращает новый массив, содержащий только элементы, прошедшие условиеreduce() – аккумулирует значения массива в один результатforEach() – выполняет функцию для каждого элемента без возврата значенияconst numbers = [1, 2, 3, 4];
const doubled = numbers.map(n => n * 2); // [2, 4, 6, 8]
const evens = numbers.filter(n => n % 2 === 0); // [2, 4]
const sum = numbers.reduce((acc, n) => acc + n, 0); // 10
Функции высшего порядка могут также порождать новые функции, что позволяет использовать паттерны вроде замыканий и каррирования:
function multiplier(factor) {
return (number) => number * factor;
}
const double = multiplier(2);
double(5); // 10
Функция высшего порядка должна одновременно принимать функцию как аргумент И возвращать функцию как результат, чтобы считаться функцией высшего порядка.
Новый — ещё не проверен сообществом
Вы