繁体   English   中英

使用带点符号的整数键来访问 javascript 对象中的属性

[英]Using integer keys with dot notation to access property in javascript objects

为什么我们不能在点表达式中使用整数键来访问属性值?

var obj = {1: 'one', two: '2'}
console.log(obj.1) // error
console.log(obj.two)

如果使用点符号来访问值,则属性键必须是有效的标识符

在此代码中,属性必须是有效的JavaScript标识符,即,一个字母数字字符序列,还包括不能以数字开头的下划线(“ _”)和美元符号(“ $”)。 例如,object。$ 1有效,而object.1无效。

在这种情况下,可以使用括号表示法

obj['1']

规格: 属性访问器

添加到@Arun P Johny 的答案中,我们可以使用带引号的obj['1']或在整数情况下不带引号的obj[1] 其中 as 访问obj['two']将起作用,但obj[two]如果没有变量/常量 as two将抛出错误。

它是JavaScript的基础,它表示变量不能以数字开头。 在这里,该属性是变量,因此它不能以数字开头。

您可以在此处查看有关变量定义规则的更多信息

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM