Optional chaining
Ao lidar com dados de APIs ou bancos de dados, é comum encontrar objetos onde algumas propriedades podem não existir. Sem optional chaining, você teria que verificar cada nível manualmente com condicionais, poluindo o código. Com o operador ?., você acessa propriedades aninhadas de forma segura e concisa, evitando erros inesperados.
O PROBLEMA
Dado objeto usuario que pode ou não ter endereço, use optional chaining (?.) para acessar cidade sem erro.
EXEMPLO
usuario.endereco?.cidade → undefined usuario.endereco?.cidade ?? "Não informada" → "Não informada"
SOBRE O CONCEITO
O optional chaining (?.) interrompe a avaliação da expressão se o valor à esquerda for null ou undefined, retornando undefined em vez de lançar um TypeError. Combinado com o operador de coalescência nula (??), você pode definir um valor padrão, como em usuario.endereco?.cidade ?? "Não informada". Um erro comum é usar . diretamente sem verificação, o que gera um TypeError se o nível anterior for null ou undefined. Outro erro é não usar ??, deixando um undefined que pode propagar problemas ou exigir novas verificações.
RESOLUÇÃO