javascript - JSON 中数字作为名称有效吗

标签 javascript json

以下代码片段在 IE 10 JS 控制台和 Chromes JS 控制台中执行。 fiddle

 alert({123:"ABC"}[123]);

但是,当通过 linter 运行它时(例如 jslint.com ),它会提示。

当我阅读 json.org 中的文档时我了解以下内容 enter image description here

表示在 JSON 对象中使用数字作为名称是不正确的。那么这是否意味着至少V8和Chakra发动机是不正确的呢?或者这与严格模式有关(如果有,当我在节点中测试它时似乎没有任何效果)?

最佳答案

您将 Javascript 文字语法与 JSON 语法混淆了。 JSON 是 Javascript 文字语法的受限子集。

ECMAScript 对象初始化器的规范可以在 here 找到。 。它包含以下产品:

PropertyName :
    IdentifierName
    StringLiteral
    NumericLiteral

因此允许使用数字作为属性名称。

关于javascript - JSON 中数字作为名称有效吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624924/

相关文章:

javascript - 如何在Angular2中调用Polymer元素方法?

javascript - 通过 NodeJS/Webix 在 MongoDB 中添加数据

php - 查看间距/换行符

javascript - JQuery 切换表单上的选项顺序

java - 使用 Google 图表显示没有列的表格

javascript - 警报(消息)返回空字符串

JavaScript 检索并替换字符串化 JSON 中的字符串部分

mysql - mysql 5.7 json 特性的一些问题

javascript onclick 触发按键点击(使用jQuery)

javascript - 如何在 React Native 中渲染 JSX 中的嵌套 JSON?