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 primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


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.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.