我今天正在尝试一些事情,并且遇到了我想要理解的行为.
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 …