Загрузка...
Загрузка...
Функция высшего порядка (Higher-Order Function) — это функция, которая принимает другую функцию как аргумент или возвращает функцию в качестве результата.
Просто о сложном:
Если функция может работать с другой функцией (принимать, возвращать или и то, и другое), она — функция высшего порядка.
function greet(name) {
return `Hello, ${name}`;
}
function processUserInput(callback) {
const name = "Alice";
return callback(name);
}
console.log(processUserInput(greet)); // "Hello, Alice"
Здесь processUserInput — функция высшего порядка, так как она принимает другую функцию greet как аргумент.
function multiplier(factor) {
return function (number) {
return number * factor;
};
}
const double = multiplier(2);
console.log(double(5)); // 10
В этом примере multiplier возвращает другую функцию — значит, это тоже функция высшего порядка.
JavaScript активно использует HOF в встроенных методах работы с массивами: map, filter, reduce, forEach.
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6]
Метод map — это функция высшего порядка, потому что он принимает в аргументы другую функцию (num => num * 2).
Функции высшего порядка — это функции, которые:
Они являются важным инструментом при работе с функциональным стилем в JavaScript, особенно при обработке данных, написании универсального кода и работе с колбэками и замыканиями.