I find this very convenient:
var myVal = (myVal=appData) && (myVal=myVal.foo) && (myVal=myVal.bar) && myVal.settings;
If a property exists, the next part of the sequence will be attempted.
When the expression before &&
evaluates to false, the next part of the expression will not be checked. If either of myVal.appData.foo.bar.settings
is not defined, the value of myVal
(undefined
( will evaluate to false
.