javascript,测试是否存在嵌套属性

时间:2016-10-14 09:14:34

标签: javascript

var foo = a.foo or {}
var bar = foo.bar or {}

为每个嵌套级别执行此操作都很繁琐。

我能以某种方式改变吗?

var bar = a.foo.bar or {}

2 个答案:

答案 0 :(得分:2)

您需要嵌套方法,可以查看logical operatorsobjects

var bar = a && a.foo && a.foo.bar || {};

答案 1 :(得分:0)

在javascript中,您需要使用||来表示or

var bar = a.foo.bar || {}; // However, a, a.foo may also be undefined

因此,您需要使用&&运算符检查它们是否已定义:

var bar = a && a.foo && a.foo.bar || {};