Optional Chaining en JavaScript
Esta caracteristica introducida en ES6 ayuda cuando tenemos que estar comprobando la existencia de propiedades dentro de objetos.
# Propiedades
Esto es muy util debido a que comunmente muchos objetos suelen venir del exterior, por tanto, hay muchas propiedades opcionales que podrian estar o no en ellos.
En lugar de tener multiples ifs o otras estructuras de chequeo anidadas podemos utilizar la siguiente sintaxis:
| |
Basicamente, el signo de interrogacion antes de pasar a la siguiente propiedad indica que, se debe comprobar que esa propiedad exista (Que no sea nullish), en caso de que exista procede a la siguiente, si no existe, devuelve undefined.
De este modo evitamos TypeErrors por acceder a propiedades de un valor undefined!
# Metodos
Esta misma sintaxis tambien sirve para llamar metodos que no estamos seguros si existen o no dentro del objeto.
| |
# Arrays
Tambien podemos aplicarlo con cualquier elemento de un array si queremos seguir encadenando propiedades / metodos / otro array
| |