В JavaScript функция высшего порядка — это функция, которая принимает одну или несколько функций в качестве аргументов или возвращает функцию в качестве результата. Функции высшего порядка — это мощный инструмент в JavaScript, который позволяет вам писать более абстрактный код, пригодный для повторного использования.
Вот простой пример функции высшего порядка в JavaScript:
function add(x, y) { return x + y; } function multiply(x, y) { return x * y; } function operate(operator, x, y) { // Call the function passed as the `operator` argument return operator(x, y); } // Use the `operate` function to add two numbers const result1 = operate(add, 3, 4); // Output: 7 // Use the `operate` function to multiply two numbers const result2 = operate(multiply, 3, 4); // Output: 12
В этом примере функция operate
является функцией высшего порядка, поскольку она принимает функцию (аргумент operator
) в качестве аргумента и вызывает ее. Это позволяет функции operate
быть более абстрактной и многократно используемой, поскольку ее можно использовать с любой функцией, которая принимает два числа и возвращает результат.
Функции высшего порядка — распространенный шаблон в функциональном программировании, и они часто используются для абстрагирования общих операций, таких как фильтрация, сопоставление и сокращение коллекций данных. Используя функции более высокого порядка, вы можете писать более гибкий, повторно используемый код на JavaScript.