JavaScript对象属性名称为十进制表示法



这是这个问题的特定特定的,它只能讨论键,如数字整数整数。

关于"属性名称的数字或字符串字面",我在Chrome Console中尝试过 var obj = { 2.15: 'foo' } console.log(obj[2.15]) 而且有效。我不会认为它在所有浏览器中,尤其是较旧的浏览器中的标准配置。但是,作为我用户提供的默认配置的一部分,这种关键表示法可能很有用。我认为使用Map,尽管在标准范围内("任何值(对象和原始值都可以用作键或值"(可能会令人生畏。如果有效,为什么不使用它?

规范说:

PropertyName :
  IdentifierName
  StringLiteral
  NumericLiteral

并表明在A numericLiteral

中的浮子很好

这是标准。如果愿意,请使用它。