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?
PDP-1
O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.
Tetris
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.
Cuidados com o notebook
Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Mario em Donkey Kong
O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".










