- это функции, которые работают с другими функциями (принимают или возвращают)
- map, filter как раз принимают на вход функции
- debounce -- пример такой функции
function debounce(fn, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(
() => { fn(...args); },
delay
)
}
}
function handleSearch(query) {
// Логика обработки поискового запроса
console.log('Searching for:', query)
}
const debouncedSearch = debounce(handleSearch, 300)
debouncedSearch('JavaScript') // Поиск будет выполнен через 300 мс