为什么解构分配不检查空值?

时间:2017-05-23 15:14:00

标签: javascript arrays object ecmascript-6 destructuring

假设obj对象是obj = {b:1,c:2,d:null,e:undefined},我们使用解构赋值:

const {
    b : amer ,
    c : karam ,
    d : moji = 3 ,
    e : yasi = [] ,
} = obj;

amer1karam2,是正确的,但我为de设置了默认值。因此,如果deundefinednull,则分配使用默认值,yasi[],因为eundefinedmoji返回null值并且它非常奇怪,因为解构分配中的默认值用于检查undefinednull

为什么解构赋值不会检查空值?

1 个答案:

答案 0 :(得分:6)

根据MDN docs关于对象解构中的默认值:

  

在值的情况下,可以为变量分配默认值   从对象中拉出来是未定义的。