小编Shy*_*abu的帖子

默认参数和解构的这种特殊情况如何运作?

我今天正在尝试一些事情,并且遇到了我想要理解的行为.

var b = ({a = 1, b = 1, c = 1}) => a + b + c;

b(); // throws error.
Run Code Online (Sandbox Code Playgroud)

但如果它是这样定义的

var b = ({a = 1, b = 1, c = 1} = 0) => a + b + c;

b() // returns 3
b([]) // returns 3
Run Code Online (Sandbox Code Playgroud)

这不应该是一个错误吗?零在某种程度上成为了一个对象吗?它在某种程度上等同于以下?

var b = ({a = 1, b = 1, c = 1} = {}) => a + b + c; // this is possible I guess.
Run Code Online (Sandbox Code Playgroud)

我的问题不是常规的destrcuturing和default …

javascript destructuring default-parameters

9
推荐指数
1
解决办法
87
查看次数