【发布时间】:2019-09-30 05:01:05
【问题描述】:
尝试解构可能为空的嵌套对象时,不使用默认值。
我已经通过在多个阶段进行解构来实现这一点,但如果可能的话,我宁愿在一个阶段中完成。
const obj = { a: null };
const { a: { b, c } = {} } = obj;
这会导致错误:Cannot destructure property 'b' of 'undefined' or 'null'
我希望 b 和 c 是 undefined
【问题讨论】:
-
the default value is not being used什么默认值? -
如何解构不存在的东西?您必须将对象设置为初始化
const obj = { a: { b, c} } -
@AZ_ 默认值在第二行代码中用
= {}表示。因此,如果a是undefined,则会改为解构一个空对象。 -
@Michael 这就是
= {}的目的。因此,如果a是undefined,则将使用一个空对象进行解构。 -
好的,
default值仅在property不存在时分配 (undefined)。
标签: javascript object ecmascript-6