Destructuring_assignment#Assignment_without_declaration
它说:
the {a, b} on the left-hand side is considered a block and not an object literal.
var a, b;
{a, b} = {a:1, b:2};//Syntax Error!
({a, b} = {a:1, b:2}); // it works
第二句中的“()”是做什么的?
为什么其中的'{}'被认为是对象字面量?
最佳答案
第一个尝试给 block 赋值,这是不对的。 第二个相当于
{}({a, b} = {a:1, b:2});
所以在这里您调用构造函数,提供属性 block 并为它们赋值。
关于javascript - 这些代码中的 `{}` 和 `()` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38350667/