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?

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 épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


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.