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?
Donkey Kong
A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.
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.
Mario e seu bigode
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.
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.
Máquina de Pascal
A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.










