Tengo este ejemplo:
var data={ city:{ street:{ houses:[] } } } alert(data.city.street.houses?.[0].person); var data={ city:{ street:{ houses:[] } } } alert(data.city.street.houses?.[0].person); esto mostraría un error porque no existe houses[0] , ¿cómo puedo evitar tener errores pero en caso de que exista houses[0] , continuar con el anidamiento?
haciendo esto, estoy recibiendo errores:
¿Cómo puedo hacerlo?
Simplemente agregue otro operador de encadenamiento después de la referencia del elemento de matriz:
var data = { city: { street: { houses: [] } } } let res = data.city.street.houses?.[0]; res = res != undefined ? res.person : 'no value'; console.log(res);