Що таке функції вищого порядку в JavaScript (hof)
Вища Функція (HOF) — це функція, яка приймає іншу функцію як аргумент або повертає функцію як результат.
Простими словами:
Якщо функція може працювати з іншою функцією (приймати, повертати або те й інше), це вища функція.
Приклади Вищих Функцій
Приймає Іншу Функцію як Аргумент
javascript
function greet(name) {
return `Hello, ${name}`;
}
function processUserInput(callback) {
const name = "Alice";
return callback(name);
}
console.log(processUserInput(greet)); // "Hello, Alice"Тут processUserInput є вищою функцією, оскільки вона приймає іншу функцію greet як аргумент.
Повертає Функцію
javascript
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.
Приклад з map
javascript
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6]Метод map є вищою функцією, оскільки він приймає іншу функцію (num => num * 2) як аргумент.
Чому Потрібні HOF?
- Збільшують гнучкість і повторне використання коду
- Покращують абстракцію — ви можете писати більш загальну поведінку, не залежну від конкретних дій
- Дозволяють реалізувати замикання, декоратори, часткове застосування та інші потужні концепції
Підсумок
Вищі функції — це функції, які:
- Приймають інші функції як аргументи
- Повертають функції як результати
- Широко використовуються у функціональному програмуванні та JavaScript
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.