Função como argumento
Passar funções como argumentos é essencial para criar código flexível e reutilizável. Métodos nativos como map, filter e reduce fazem isso — você fornece a lógica e eles a aplicam. Dominar isso permite abstrair comportamentos e evitar repetição.
O PROBLEMA
Crie aplicar(funcao, valor) que recebe uma função e um valor e retorna o resultado.
EXEMPLO
aplicar(dobro, 5) → 10 aplicar(n => n**2, 4) → 16
SOBRE O CONCEITO
O exercício pede uma função aplicar que recebe outra função e um valor, e retorna o resultado da função chamada com esse valor. O erro mais comum é escrever aplicar(dobro(), 5) — com parênteses em dobro(). Isso chama dobro imediatamente (sem argumento) e passa seu resultado (provavelmente undefined) em vez da função em si. Para passar a função corretamente, use apenas o nome aplicar(dobro, 5). Aí aplicar pode invocar funcao(valor) internamente.
RESOLUÇÃO