javascript中赋值表达式周围的括号有什么意义
我读了下面的代码 这与以下内容有什么区别:javascript中赋值表达式周围的括号有什么意义,javascript,Javascript,我读了下面的代码 这与以下内容有什么区别: { a, b } = { a: 10, b: 20 }; console.log(a); // 10 console.log(b); // 20 考虑到他们有相同的结果 另一点是赋值表达式周围的括号,你的第二个例子不应该起作用。您应该会看到一个错误 let a, b; { a, b } = { a: 10, b: 20 }; // Uncaught SyntaxError: Unexpected token '=' 原因是花括号{a,b}被认为是
{ a, b } = { a: 10, b: 20 };
console.log(a); // 10
console.log(b); // 20
考虑到他们有相同的结果
另一点是赋值表达式周围的括号,你的第二个例子不应该起作用。您应该会看到一个错误
let a, b;
{ a, b } = { a: 10, b: 20 };
// Uncaught SyntaxError: Unexpected token '='
原因是花括号{a,b}
被认为是块而不是对象文字
// This is a block
{
console.log('Hello world');
}
当被括号包围时,它被认为是一个对象文字
({ hello: world })
注意:赋值语句周围的括号(…)是
在使用对象文字解构赋值而不使用
声明
{a,b}={a:1,b:2}不是有效的独立语法,因为{a,b}
左侧被视为块,而不是对象文字
// This is a block
{
console.log('Hello world');
}
但是,({a,b}={a:1,b:2})和常量{a,b}={a:1,
b:2}
您的(…)表达式前面必须加分号,否则可能会
用于执行前一行上的函数
资料来源: