What's the simplest approach to check existence of deeply-nested object property in JavaScript?

Viewed 13050

I have to check deeply-nested object property such as YAHOO.Foo.Bar.xyz.

The code I'm currently using is

if (YAHOO && YAHOO.Foo && YAHOO.Foo.Bar && YAHOO.Foo.Bar.xyz) {
    // operate on YAHOO.Foo.Bar.xyz
}

This works, but looks clumsy.

Is there any better way to check such deeply nested property?

7 Answers
var _ = {};

var x = ((YAHOO.Foo || _).Bar || _).xyz;
Related