ANÚNCIO

~/questoes/programacao

O que uma função de ordem superior em JavaScript faz?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Fundamentos de Programação com JavaScript – Curso Completo
Para fixar

Funções de Ordem Superior em JavaScript

Conceito central

Funções de ordem superior são funções especiais que trabalham com outras funções: podem receber funções como argumentos ou devolver funções como resultado. Isso permite criar código mais flexível e reutilizável, essencial para padrões modernos em JavaScript.

Por que essa resposta faz sentido

A alternativa C está correta porque define exatamente o que é uma função de ordem superior: ela recebe outras funções como argumentos ou retorna uma função. Esse comportamento permite padrões avançados como callbacks e é fundamental em JavaScript moderno.

Armadilhas comuns

  • Confundir funções de ordem superior com funções que fazem operações complexas ou difíceis.
  • Achar que funções de ordem superior são sempre mais rápidas ou otimizadas que funções normais.
  • Não reconhecer callbacks (funções passadas como argumentos) como exemplo prático de funções de ordem superior.

Entenda as alternativas

A

Funções de ordem superior não têm relação com velocidade de execução. Qualquer função, de ordem superior ou não, executa no mesmo tempo. O conceito está relacionado à estrutura e funcionalidade, não ao desempenho.

B

Funções de ordem superior frequentemente usam estruturas de repetição (como map, filter, forEach) para processar dados. Além disso, o conceito não proíbe o uso delas; o foco é em como a função interage com outras funções.

C

Esta é a definição correta. Funções de ordem superior aceitam outras funções como parâmetros ou retornam funções como resultado. Exemplos clássicos são map(), filter() e callbacks em geral.

D

Operações matemáticas complexas não definem funções de ordem superior. Qualquer função pode fazer contas, mas isso não a torna uma função de ordem superior. O diferencial é trabalhar com outras funções, não com números.

Dica prática: Veja na prática: a função map() é uma função de ordem superior porque recebe outra função (um callback) como argumento. Experimente [1, 2, 3].map(x => x * 2) — aqui map() é de ordem superior porque recebe a função de multiplicação como parâmetro.

Revise pensando: Se uma função recebe outra função como argumento, ela é necessariamente uma função de ordem superior?