Nas últimas aulas, aprendemos três recursos muito importantes do JavaScript moderno: Optional Chaining (?.), Nullish Coalescing (??) e Spread Operator (...).

Agora é hora de ver esses conceitos funcionando em situações reais, do tipo que aparecem todos os dias em aplicações web.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Usar Optional Chaining com segurança em dados incertos
  • Aplicar Nullish Coalescing para definir valores padrão corretos
  • Usar Spread Operator para copiar e combinar dados
  • Combinar esses recursos em cenários reais

Exemplo 1 — Dados vindos de uma API

Imagine um objeto retornado por uma API, onde nem todas as informações são garantidas:

 const respostaApi = { usuario: { nome: "Daniel" } }; 

Acessando dados com segurança:

 const cidade = respostaApi.usuario?.endereco?.cidade ?? "Cidade não informada";

console.log(cidade); // Saída será "Cidade não informada"
Esse padrão é extremamente comum ao trabalhar com APIs.

Exemplo 2 — Configurações do sistema

Suponha que um sistema tenha configurações opcionais:

 const config = { tema: "dark", itensPorPagina: 0 }; 

Definindo valores padrão corretamente:

 const itens = config.itensPorPagina ?? 10;

console.log(itens); // Saída será 0

Aqui, 0 é um valor válido e não deve ser substituído.

Exemplo 3 — Atualizando objetos com Spread Operator

Imagine que você precise atualizar dados de um usuário sem alterar o objeto original:

 const usuario = { nome: "Daniel", idade: 30 }; 
 const usuarioAtualizado = { ...usuario, idade: 31 };

console.log(usuario);
// Saída será { nome: "Daniel", idade: 30 }

console.log(usuarioAtualizado);
// Saída será { nome: "Daniel", idade: 31 }

Exemplo 4 — Juntando dados de formulários

Muito comum em formulários web:

 const dadosPessoais = { nome: "Ana", email: "ana@email.com" };

const endereco = {
cidade: "São Paulo",
estado: "SP"
};

const cadastroCompleto = {
...dadosPessoais,
...endereco
};

console.log(cadastroCompleto);
// Saída será { nome: "Ana", email: "ana@email.com
", cidade: "São Paulo", estado: "SP" }

Exemplo 5 — Funções com dados opcionais

Função que recebe um objeto de opções:

 function criarMensagem(opcoes) { const nome = opcoes?.nome ?? "Visitante"; const idade = opcoes?.idade ?? "não informada";

return nome + " tem idade " + idade;
}

console.log(criarMensagem({ nome: "Carlos", idade: 25 }));
// Saída será "Carlos tem idade 25"

console.log(criarMensagem({ nome: "Maria" }));
// Saída será "Maria tem idade não informada"

console.log(criarMensagem());
// Saída será "Visitante tem idade não informada"
Esse padrão evita várias verificações com if.

Resumo mental: quando usar cada um

  • ?. → quando algo pode não existir
  • ?? → quando null ou undefined são esperados
  • ... → quando precisa copiar ou combinar dados

Resumo da aula para nunca mais esquecer

  • Optional Chaining evita erros ao acessar dados incertos
  • Nullish Coalescing define valores padrão corretamente
  • Spread Operator copia e combina estruturas
  • Esses recursos são muito usados juntos em código real

Na próxima aula, vamos entrar em um novo capítulo do JavaScript e entender assincronicidade: como o JavaScript lida com tarefas que não acontecem imediatamente.


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?

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.


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.