0

先贴上一个我在控制台中的测试及测试结果,如下图:

上图中,分了 5 种不同的情形来测试,每种情形都定义了一个目标对象 test,以及目标key:mdog。我希望采用 ES6 中解构的方法来获取到 test 中的 mdog key值,如果没有,则为我设置的默认值。

情形一:test对象中没有 mdog key,因此我获取到的 mdog 为默认值:xiaoqiang,符合我的预期。

情形二:test对象中 mdog 没有设置任何值,因此我获取到的 mdog 为默认值:xiaoqiang,符合我的预期。

情形三:test对象中 mdog:null,我期望获取到的 mdog 为默认值:xiaoqiang,然而结果却是 null,不符合我的预期。

情形五与情形三类似,只是一个为 null,一个为 undefined,我的问题是:如何能够在这两种情形下,都获取到我设置的默认值呢,而不是情形三那样的结果?

1个回答

0

解构的时候是严格模式,只有匹配到undefined才会设置默认值,其它的都不行!

撰写答案