I'm working with javascript objects that have nested properties I need to test for, like
myObject = {
    'some' : {
        'nested' : {
            'property' : {
                'foo' : 'bar'
            }
        }
    }
    ...
}
The trouble is myObject.some might not exist, nor myObject.some.nested, and so on. So to test for the existence of myObject.some.nested.property.foo I have to do this:
if (myObject.some) {
    if (myObject.some.nested) {
        if (myObject.some.nested.property) {
            if (myObject.some.nested.property.foo) {
                // do something with myObject.some.nested.property.foo here
            }
        }
    }
}
because if I do if (myObject.some.nested.property.foo) and one of the parent properties doesn't exist, it throws the error:
TypeError: 'undefined' is not an object (evaluating 'myObject.some.nested.property.foo')
Is there a better way to test for nested properties without using so many if statements?
 
    