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");
O Rest Parameter deve ser sempre o último parâmetro da função. Você não pode colocar nenhum parâmetro depois dele.

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.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

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.


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


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".


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, 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.