Accede a los objetos anidados de Javascript de forma segura

Tengo una estructura de datos basada en json con objetos que contienen objetos anidados. Para acceder a un elemento de datos en particular, he estado encadenando referencias a propiedades de objetos. Por ejemplo:

var a = b.c.d;

Si b o b.c no está definido, fallará con un error. Sin embargo, quiero obtener un valor si existe, de lo contrario simplemente no definido. ¿Cuál es la mejor manera de hacer esto sin tener que verificar que existe cada valor en la cadena?

Me gustaría mantener este método lo más general posible para no tener que agregar un gran número de métodos de ayuda como:

var a = b.getD();

o

var a = helpers.getDFromB(b);

También quiero tratar de evitar las construcciones try / catch, ya que esto no es un error, por lo que el uso de try / catch parece estar fuera de lugar. ¿Es eso razonable?

¿Algunas ideas?

Respuestas a la pregunta(6)

Su respuesta a la pregunta