Rest parameters
Em JavaScript, muitas funções precisam lidar com um número variável de argumentos — como Math.max ou funções de logging. O rest parameter permite capturar esses argumentos como um array, tornando o código mais limpo e flexível. Dominar esse padrão é essencial para escrever funções que se adaptam a diferentes usos, sem precisar definir parâmetros fixos.
O PROBLEMA
Crie somarTudo(...numeros) que aceita qualquer quantidade de números e retorna a soma.
EXEMPLO
somarTudo(1,2,3) → 6 somarTudo(10,20,30,40) → 100
SOBRE O CONCEITO
O rest parameter, escrito como ...nome, coleta todos os argumentos excedentes em um array real. Diferente do objeto arguments (que é array-like e não possui métodos de array como reduce), o rest é um array de verdade. Um erro comum é confundir rest com spread: rest coleta, spread espalha. Outro erro é usar arguments em vez de rest, perdendo acesso direto a métodos como reduce. No exercício, somarTudo(...numeros) usa rest para agrupar todos os números em um array e depois soma com reduce.
RESOLUÇÃO