对象声明:字符串作为键有所不同吗?

时间:2014-09-24 12:58:58

标签: javascript node.js object

在stackoverflow上有一些关于JSON是Object Literal Notation的子集的问题。但我找不到我的具体问题的答案。

之间有什么区别吗?
var obj = {keyName : "value"};

var obj = {"keyName" : "value"};
在JavaScript中

2 个答案:

答案 0 :(得分:5)

是。区别在于后者的文件大小将增加两个字节,以便代码中的两个额外"字符。

否则,您给出的两个示例对象之间没有区别。

var obj = {keyName : "value"};

obj.keyName;       /* "value" */
obj["keyName"];    /* "value" */
var obj = {"keyName" : "value"};

obj.keyName;       /* "value" */
obj["keyName"];    /* "value" */

答案 1 :(得分:5)

没有区别,除了第二个将在你的代码中添加两个额外的"字符,这将花费你额外的两个字节。

两种声明对象属性的原因with or without quotes is because 你可以试试,

var obj = {"key Name" : "value"};

仍然可以将其作为

访问
obj['key Name']

但不是

var obj = {key Name : "value"};

以这种方式思考,存在差异