Cuando trabajas con objetos anidados, a veces una parte no existe todavía. Y si intentas acceder igual, JavaScript rompe la ejecución.
Si direccion es undefined, este acceso lanza error.
?.optional chaining (encadenamiento opcional) permite leer propiedades sin romper el programa.
Cómo se interpreta:
usuario existe, siguedireccion existe, sigueundefined en lugar de explotarEn aplicaciones reales recibes datos incompletos todo el tiempo:
?. te ayuda a escribir código más resistente.
?. no inventa datos.
Solo evita el error de acceso y devuelve undefined si falta algo.
Por eso suele combinarse con validaciones o valores por defecto más adelante.
Sin ?., esto lanzaría un TypeError.
?. para acceder a una propiedad profundaconsole.logCódigo sólido no es el que nunca falla: es el que sabe manejar cuando faltan datos.