Função geradora de funções
Funções que retornam funções são comuns em código real, como em bibliotecas de validação onde você cria validadores personalizados (por exemplo, criarValidador(limite) retorna uma função que verifica se um número é maior que o limite). Isso permite configurar comportamentos sem repetir código.
O PROBLEMA
Crie criarMultiplicador(n) que retorna uma função que multiplica qualquer número por n.
EXEMPLO
const dobrar = criarMultiplicador(2); dobrar(5) → 10 triplicar(5) → 15
SOBRE O CONCEITO
O exercício pede uma factory function: uma função que gera outras funções. O erro principal é retornar o resultado da multiplicação em vez de uma função — por exemplo, escrever return n * x dentro de criarMultiplicador. Isso faz com que criarMultiplicador(2) retorne um número, não uma função. Outro erro comum é invocar a função interna com () no retorno, como return function(x) { ... }() — isso executa a função imediatamente e retorna o resultado. O correto é retornar a função sem chamá-la: return function(x) { return n * x; }. A função interna captura n via closure, permitindo que ela seja usada depois, como em const dobrar = criarMultiplicador(2); dobrar(5).
RESOLUÇÃO