Menu
Coddy logo textTech

Encadeamento Opcional em JSON

Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 24 de 65.

O encadeamento opcional (?.) permite que você acesse propriedades aninhadas com segurança, sem se preocupar com erros se uma propriedade for null ou undefined.

Exemplo Sem Encadeamento Opcional:

let obj = {};
console.log(obj.key1.key2);
// Erro: Não é possível ler propriedades de undefined

Exemplo com Optional Chaining:

let obj = {};
console.log(obj.key1?.key2);
// undefined (sem erro)
  • Se key1 existir, ele acessa key2.
  • Se key1 for null ou undefined, ele retorna undefined em vez de lançar um erro.

Mais exemplos:

let user = {
	profile: {
		name: "Alice"
	}
};

console.log(user.profile?.name);
// "Alice"
console.log(user.profile?.age);
// undefined (sem erro)
console.log(user.address?.city);
// undefined (sem erro)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Folha de consulta

O encadeamento opcional (?.) acessa propriedades aninhadas com segurança, sem erros, se uma propriedade for null ou undefined:

let obj = {};
console.log(obj.key1?.key2);
// undefined (sem erro)

Se a propriedade existir, ela acessa o próximo nível. Se for null ou undefined, ele retorna undefined em vez de lançar um erro.

let user = {
	profile: {
		name: "Alice"
	}
};

console.log(user.profile?.name);    // "Alice"
console.log(user.profile?.age);     // undefined
console.log(user.address?.city);    // undefined

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo