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?
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
Final Fantasy
O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.
Música tema do Blanka
Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.
Inteligência artificial
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.
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.










