gpt4 book ai didi

javascript - 使用 [ ] 表示法访问 javaScript 对象

转载 作者:行者123 更新时间:2023-12-03 06:32:51 25 4
gpt4 key购买 nike

以下有什么区别:

var ourDog = {
"name": "Camper"
};

var ourDog = {
name: "Camper",
};

以及它如何能够返回Camper ourDog["name"]在这两种情况下。

当我们使用 [] 访问对象属性时,幕后是否发生任何转换?符号?

最佳答案

检查specs

PropertyDefinition : PropertyName : AssignmentExpression

  1. Return PropName of PropertyName.

规范的这一部分建议了属性名称及其值的正式语法。

此外,在此之前this part of the spec建议 propertyName 可以是 literalPropertyName 不需要描述为字符串

PropertyName[Yield] :

LiteralPropertyName

ComputedPropertyName[?Yield]

文字属性名称:

IdentifierName

StringLiteral

NumericLiteral

这就是为什么 name 会得到相同结果的原因和"name" .

但是,如果属性名称是 first name ,那么您需要使用该字符串,否则您将收到编译错误,因为属性名称后面有一个冒号 :预计。

//correct syntax
var ourDog = {
"first name": "Camper"
};

//incorrect syntax
var ourDog = {
first name: "Camper" //since after first there is no colon so there will be compilation error
};

关于javascript - 使用 [ ] 表示法访问 javaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38373202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com