我想知道在较新版本的javascript中是否存在点符号的替代方式,它返回像nil这样的对象,但仍然可以使用其他.dot元素。我有这样的代码:
var a = venue.photos.groups[0].items[0].prefix;
我收到类似
的错误Cannot read property 'items' of undefined
并寻找与
类似的内容if (venues.photos && venue.photos.groups && venue.photos.groups[0].items ) {
a=venue.photos.groups[0].items[0].prefix;
} else {
a=null;
}
对于那些了解目标C的人,我想要一些表格:
NSObject * val = [[a b] c] .. n]
答案 0 :(得分:2)
使用_.get
他们的示例代码:
var object = {'a':[{'b':{'c':3}}]};
_。get(object,'a [0] .b.c'); //→3
_。get(object,['a','0','b','c']); //→3
_。get(object,'a.b.c','default'); //→'默认'
所以你可以做到
var a = _.get(venue, 'photos.groups[0].items[0].prefix');
答案 1 :(得分:1)
我不这么认为。 在ES6和ES7中都没有你想要的功能 http://es6-features.org/#Constants
答案 2 :(得分:1)
你可以试试这个:
var venue = { photos: { groups: [] } };
var a = venue.get("photos").get("groups").get(0).get("items").get(0).get("prefix").defaultTo("No prefix found");
用法:
{{1}}
答案 3 :(得分:0)
我想知道在较新版本的javascript中是否存在点符号的替代方式,它返回像nil这样的对象,但仍然可以使用其他.dot元素。
不,没有这样的事情。 There have been discussions关于ES7的这样一个运营商,但没有达成共识。