var foo = a.foo or {}
var bar = foo.bar or {}
It is tedious to do this for every level of nesting.
Can I somehow do instead?
var bar = a.foo.bar or {}
var foo = a.foo or {}
var bar = foo.bar or {}
It is tedious to do this for every level of nesting.
Can I somehow do instead?
var bar = a.foo.bar or {}
You need a nested approach, you may have a look to logical operators and objects.
var bar = a && a.foo && a.foo.bar || {};
In javascript you need to use ||
to indicate for or
.
var bar = a.foo.bar || {}; // However, a, a.foo may also be undefined
So, you need to check them using &&
operator to know if they all are defined:
var bar = a && a.foo && a.foo.bar || {};