我很困惑为什么我可以分配以下对象文字:
var x = { "a" : true };
将其改为简单声明:
{ "a" : true };
将在Firefox和Chrome中导致SyntaxError: Unexpected token :
(它在节点中按预期工作)。
答案 0 :(得分:1)
JavaScript object literals syntax error
这是一个类似的答案(假设您使用了REPL)。基本上,Node会将代码包装在括号中,从而将其成功解析为对象文字。
{"hello":1} to be ({"hello":1})