Nas últimas aulas, aprendemos recursos modernos como Destructuring e Spread Operator, que deixam o código mais limpo e elegante.

Agora vamos conhecer um operador que ajuda a evitar um dos erros mais comuns do JavaScript: tentar acessar propriedades de algo que não existe. Esse operador é o Optional Chaining, representado por ?..

🎯 Objetivo da aula

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

  • Entender o problema que o Optional Chaining resolve
  • Acessar propriedades de forma segura
  • Evitar erros do tipo Cannot read property
  • Usar Optional Chaining com objetos, arrays e funções
  • Escrever código mais robusto

O problema: acessando algo que não existe

Veja o objeto abaixo:

 const usuario = { nome: "Daniel", endereco: { cidade: "São Paulo" } }; 

Agora imagine tentar acessar uma propriedade que pode não existir:

 console.log(usuario.endereco.rua); 

Isso retorna undefined, o que ainda é seguro. Mas se endereco não existir, o código quebra.

O erro clássico do JavaScript

 const usuario2 = { nome: "Ana" };

console.log(usuario2.endereco.cidade);
Esse código gera um erro em tempo de execução porque endereco é undefined.

Resolvendo com Optional Chaining

Com o Optional Chaining, podemos acessar propriedades de forma segura:

 console.log(usuario2.endereco?.cidade); 

Se endereco não existir, o JavaScript simplesmente retorna undefined, sem quebrar o código.

 console.log(usuario2.endereco?.cidade); // Saída será undefined 

Optional Chaining em níveis mais profundos

Você pode usar o operador em cadeias maiores:

 const pedido = { cliente: { nome: "Carlos" } };

console.log(pedido.cliente?.endereco?.cidade); // Saída será undefined

Optional Chaining com arrays

Também é possível usar Optional Chaining ao acessar posições de arrays:

 const produtos = ["Notebook", "Mouse"];

console.log(produtos[2]?.toUpperCase()); // Saída será undefined

Sem Optional Chaining, chamar métodos em algo inexistente causaria erro.

Optional Chaining com funções

O operador também funciona para chamadas de funções que podem não existir:

 const api = { buscarDados() { return "Dados carregados"; } };

console.log(api.buscarDados?.()); // Saída será "Dados carregados"

const api2 = {};

console.log(api2.buscarDados?.()); // Saída será undefined
Optional Chaining apenas interrompe o acesso — ele não cria valores automaticamente.

Quando usar Optional Chaining?

  • Dados vindos de APIs
  • Objetos com estrutura incerta
  • Propriedades opcionais
  • Código defensivo e seguro
Não use Optional Chaining para esconder erros de lógica. Ele deve ser usado quando a ausência do valor é esperada.

Resumo da aula para nunca mais esquecer

  • Optional Chaining evita erros ao acessar propriedades inexistentes
  • Usa o operador ?.
  • Funciona com objetos, arrays e funções
  • Torna o código mais seguro e robusto

Na próxima aula, vamos aprender sobre Nullish Coalescing (??) e lidar melhor com valores nulos.


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.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.


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.


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!


A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.