有什么区别,它们是相同还是不同?
$scope.someVar = {first: true}
$scope.someVar = {'first': true}
答案 0 :(得分:3)
在Javascript中没有区别,除非属性名称是JS关键字或包含特殊字符(例如符号,空格等),否则作为变量名称无效(例如以数字开头) ,在这种情况下,引号是避免语法错误所必需的。
这种混淆的一个原因是JSON - 在JSON字符串中,引号是必需的。我知道你不是在问题的代码中编写JSON,但是JSON和JS之间的这种区别确实会让人们失望,特别是因为很多人认为JSON与Javascript相同;他们不是(完全)相同。
答案 1 :(得分:2)
他们是一样的。当密钥包含保留关键字或空格(如
)时,第二个是必需的{ 'some-id+with/special:chara cters': true}