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);
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
Quando usar Optional Chaining?
- Dados vindos de APIs
- Objetos com estrutura incerta
- Propriedades opcionais
- Código defensivo e seguro
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.
Você Sabia?
Nintendo Entertainment System
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.
Pac Man
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.
Space Invaders
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.
Final Fantasy X
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!
Recorde de patentes
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.










