Javascript 什么';s对象文字中带引号和不带引号的键之间的差异

Javascript 什么';s对象文字中带引号和不带引号的键之间的差异,javascript,Javascript,可能重复: 我主要是通过使用它来了解JavaScript的,但有些东西我还不明白 这两个对象文字之间的区别是什么: var obj1 = { myProp: '123' }; var obj2 = { 'myProp': '123' }; 它们只是“同义词”,还是有细微的区别 谢谢 如果里面没有操作员,则什么都没有 var obj1 = { my+Prop: '123' // illegal }; var obj2 = { 'my+Prop': '123' //

可能重复:

我主要是通过使用它来了解JavaScript的,但有些东西我还不明白

这两个对象文字之间的区别是什么:

var obj1 = {
   myProp: '123'
};

var obj2 = {
   'myProp': '123'
};
它们只是“同义词”,还是有细微的区别


谢谢

如果里面没有操作员,则什么都没有

var obj1 = {
   my+Prop: '123' // illegal
};

var obj2 = {
   'my+Prop': '123' // legal
};

在对象初始值设定项语法中,键可以是数字文本、标识符或字符串

var obj1 = {
    1e9: "123" //valid because it's a numeric literal
}

var obj2 = {
    $_ASd: "123" //Valid because it's a valid identifier I.E. you could make a variable called $_Asd
}

var obj3 = {
    $ hello world: "123" //invalid because it's not an identifier, I.E. you could not make a variable called $ hello world
}

var obj4 = {
    '$ hello world': "123" //valid because it's a valid string
}

在此之后,键将变为字符串,而不管它在语法中是什么,因此在
1e9
的情况下,键将是字符串
“100000000”

或开头的数字。正确的说法是“当它不是一个有效的标识符时”。@EsTeGe:你搜索过答案了吗?正如Bismark已经提到的,这个问题以前已经得到了回答-1.