Encadenamiento opcional en JSON
Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 24 de 65.
El encadenamiento opcional (?.) te permite acceder de forma segura a propiedades anidadas sin preocuparte por errores si una propiedad es null o undefined.
Ejemplo sin encadenamiento opcional:
let obj = {};
console.log(obj.key1.key2);
// Error: No se pueden leer las propiedades de undefinedEjemplo con encadenamiento opcional:
let obj = {};
console.log(obj.key1?.key2);
// undefined (sin error)- Si
key1existe, accede akey2. - Si
key1esnulloundefined, devuelveundefineden lugar de lanzar un error.
Más ejemplos:
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name);
// "Alice"console.log(user.profile?.age);
// undefined (sin error)console.log(user.address?.city);
// undefined (sin error)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Hoja de referencia
El encadenamiento opcional (?.) accede de forma segura a propiedades anidadas sin errores si una propiedad es null o undefined:
let obj = {};
console.log(obj.key1?.key2);
// undefined (sin error)Si la propiedad existe, accede al siguiente nivel. Si es null o undefined, devuelve undefined en lugar de lanzar un error.
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name); // "Alice"
console.log(user.profile?.age); // undefined
console.log(user.address?.city); // undefinedPruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Strings en profundidad
Fundamentos de stringsIterar sobre stringsTemplate LiteralsMétodos de stringsResumen - String Weaver4JSON Parte 2
Iterar sobre JSONJSON anidadoEncadenamiento opcional en JSONCopia superficial y profundaResumen - Tienda de bicicletasResumen - Sistema solar7Sistema de Gestión de Biblioteca
Descripción general del proyectoAñadir libros10Gestionar el sistema del festival
Descripción general del proyectoAñadir películas y sedes2Arreglos multidimensionales
Conceptos básicos de arreglos 2DAcceso a elementos de arreglos 2DBucles anidados con arreglos 2DResumen - Arreglos 2DSuma y resta de matricesArreglos irregulares (Jagged Arrays)Arreglos 3D y más alláPatrones comunes en arreglos 2DResumen - Todo sobre arreglos5Conjuntos Parte 1
¿Qué es un conjunto?Iterar sobre conjuntosAñadir un elementoEliminar un elementoComprobar si un elemento existeTamaño y Is EmptyCopy y ClearResumen - Conceptos básicos de conjuntos8Temas interesantes de Arrays
Desestructuración de ArraysSintaxis Spread en ArraysArrays dispersosResumen - Taller de Arrays3JSON Parte 1
¿Qué es un JSON?Comprobar si existe una claveMétodos de objetoEl Spread Operator Parte 1El Spread Operator Parte 2Eliminar clavesResumen - Manipular claves de JSON