如果属性不存在,如何默认为空数组 - es6

时间:2018-06-13 15:44:53

标签: javascript ecmascript-6

我有以下代码从对象barNames获取bar

const {[id]: {'name': fooName} = []} = foo || {};
const {'keywords': {[fooName]: barNames}} = bar || [];
  • 注意:fooName存在,但keywords中不存在属性

如果barNames中不存在对象fooName,我想将bar.keywords设为空数组。我试图使用OR运算符但它似乎不起作用。我不想再使用?, :, &&等等三元运算符。

任何提示都会很好。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找默认的初始化程序:

const {[id]: {'name': fooName}} = foo || {};
const {'keywords': {[fooName]: barNames = []}} = bar || {};
//                                      ^^^^