Na aula anterior, aprendemos a usar parâmetros default para deixar nossas funções mais seguras, evitando problemas quando valores não são informados.
Agora vamos aprender a lidar com outra situação muito comum: quando não sabemos quantos valores uma função vai receber. Para isso, usamos os Rest Parameters.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o que são Rest Parameters
- Criar funções que recebem vários argumentos
- Usar o operador
...corretamente - Trabalhar com listas de valores de forma flexível
- Escrever funções mais genéricas e reutilizáveis
O problema: quantidade variável de argumentos
Imagine uma função que soma números. Às vezes você quer somar dois valores, às vezes três, quatro ou mais.
Antes dos Rest Parameters, isso exigia soluções mais complexas. Agora, o JavaScript oferece uma forma simples e elegante de resolver esse problema.
Conhecendo o Rest Parameter
O Rest Parameter usa o operador ... antes do nome do parâmetro. Ele reúne todos os valores extras passados para a função em um array.
function somar(...numeros) { console.log(numeros); }
somar(1, 2, 3, 4);
Nesse exemplo, todos os valores passados são agrupados no array numeros.
Usando Rest Parameters na prática
Agora vamos usar o Rest Parameter para somar qualquer quantidade de números:
function somar(...numeros) { let total = 0;
for (let numero of numeros) {
total += numero;
}
return total;
}
console.log(somar(2, 4));
console.log(somar(1, 2, 3, 4, 5));
O código acima resultará na seguinte saída:
Rest Parameters com Arrow Functions
Assim como outros recursos modernos do JavaScript, os Rest Parameters funcionam perfeitamente com Arrow Functions:
const somar = (...numeros) => { return numeros.reduce((total, n) => total + n, 0); };
console.log(somar(10, 20, 30));
Rest Parameter com outros parâmetros
O Rest Parameter pode ser combinado com parâmetros normais, desde que ele seja o último da lista:
function apresentar(nome, ...habilidades) { console.log(nome); console.log(habilidades); }
apresentar("Daniel", "JavaScript", "HTML", "CSS");
Resumo da aula para nunca mais esquecer
- Rest Parameters permitem receber vários argumentos em uma função
- Usam o operador
...antes do nome do parâmetro - Os valores são agrupados automaticamente em um array
- Funcionam com funções tradicionais e Arrow Functions
Na próxima aula, vamos aprender sobre Closures na prática e entender como funções podem “lembrar” do seu contexto.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Space Invaders
O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.
Ultima Online
Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Street Fighter 2
Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.










