我正在使用一个返回对象数组的API。我可以得到所有的钥匙,但其中两个有数字作为钥匙,但我不能得到它。给我一个错误。我真不知道为什么我拿不到那些钥匙。
因为数字有什么不同吗?
顺便说一句,我使用的是axios。

发布于 2021-05-07 17:15:36
如果使用点表示法,则应更改为括号表示法,以访问以数字开头的属性。
下面的代码使用点表示法,它抛出一个错误。
const test = {"1h" : "test value"};
console.log(test.1h); // error
为什么:
在object.property语法中,属性必须是有效的JavaScript标识符。 标识符是代码中标识变量、函数或属性的字符序列。 在JavaScript中,标识符区分大小写,可以包含Unicode字母、$、_和数字(0-9),但不能以数字开头。
下面的代码使用括号符号,工作正常。
const test = {"1h" : "test value"};
console.log(test["1h"]); // works
为什么:
在objectproperty_name语法中,property_name只是一个字符串或符号。因此,它可以是任何字符串,包括“1 1foo”、“!bar!”或甚至“”(空格)。
查看文档这里
https://stackoverflow.com/questions/67437017
复制相似问题