为什么JS中的对象包裹在括号中?

DLe*_*rdi 5 javascript parentheses

给出以下示例:

var foo = {
    root:
        ({
            key1: "Value1",
            key2: "Value2",
            key3: "Value3"
        })
    };
Run Code Online (Sandbox Code Playgroud)

与以下内容相比有何不同:

var foo = {
    root:
        {
            key1: "Value1",
            key2: "Value2",
            key3: "Value3"
        }
    };
Run Code Online (Sandbox Code Playgroud)

在第一个例子中,有一个额外的parens包裹对象.这有什么用途?它与范围有什么关系吗?它以任何方式影响执行吗?谢谢!

Jon*_*Jon 6

这里绝对没有区别.

AFAIK在它确实有所作为的地方是在控制台上评估对象文字时.