为什么b是10而var[b=10]=[undefined]?

var [b=10] = [undefined];
console.log(b) 

我想知道如何拆分第一行代码以及为什么 b 等于 10?谢谢!

回答

为什么 b 等于 10?

这是一个具有默认值的解构赋值。

它从数组中获取第一个元素并将其分配给一个名为 的新变量b。并且仅当该值未定义时,它才会被赋予一个默认值10

var [b = 10] = [3];
console.log(b); // 3

如何拆分第一行代码

可以这样写:

var arr = [undefined],
    b   = arr[0];

if (b === undefined) { b = 10; }

console.log(b); // 10


以上是为什么b是10而var[b=10]=[undefined]?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>