Um outro conceito diretamente relacionado às funções de primeira classe do JavaScript são as funções de mais alta ordem (higher-order function). Higher-order functions são como são denominadas as funções que retornam uma outra função. Esse conceito é vital para que você possa compreender o JavaScript funcional.
No exemplo apresentado a seguir, a função saudacao() será alterada para retornar uma outra função:

Aqui, vemos que nossa função retorna um objeto de uma função. Para que ele apenas imprima a mensagem, podemos usar dois parênteses:

Quer aprender mais sobre Desenvolvimento Web?
Dá uma olhada nesses cursos disponíveis a partir de R$ 27,90 (e ainda dar uma moral para ajudar esse pobre professor a pagar seus boletos) 😉