A higher-order function is a function that takes at least one function as an argument or returns a function as its result. This is a key concept in functional programming. Common examples in JavaScript include map(), filter(), reduce(), and setTimeout(). Higher-order functions enable powerful abstractions and code reuse by allowing function composition and delegation.