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?

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


A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


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.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.