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 console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!