For this purpose I'd recommend using what majority of devs use for this purpose: lodash.
import get from 'lodash/get'
const comments = get(props, 'user.posts.comments', )
This makes code easier for more people to understand. Also, using try ... catch and creation of new function for each iteration might hurt performance in tight loops. lodash implementation is both optimized for performance and has tests for edge cases.
try ... catch
Just make sure to use the import like in the above. :)
I've unfortunately seen waaay to many projects include the entire lodash library for just one or two functions...
Or even worse for already poly-filled array methods.. :D
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.