我根本无法绕过"计算属性",我已经用Google搜索,但它没有多大帮助,the website I am following这样说,但任何人都可以它更清楚?我知道它拼写给了我,但我仍然无法理解它试图告诉我的内容。你可以尝试用简单的单词"吗?
说出来我们可以在对象文字中使用方括号。这就是所谓的 计算属性。
例如:
let fruit = prompt("Which fruit to buy?", "apple"); let bag = { [fruit]: 5, // the name of the property is taken from the variable fruit }; alert( bag.apple ); // 5 if fruit="apple"
计算属性的含义很简单:
[fruit]
表示 属性名称应取自fruit
。因此,如果访问者输入
"apple"
,则bag
将变为{apple: 5}
。
我无法理解的部分是
alert( bag.apple ); // 5 if fruit="apple"
答案 0 :(得分:0)
您将prompt
的值保存在名为fruit
的变量中。在这种情况下,它默认为" apple"。
然后您宣布另一个变量bag
。 bag
有一个属性,此处为[fruit]
。这将在运行时评估fruit
的值,从而有效地进行声明
let bag = {
'apple': 5
};
警报功能将提醒bag.apple
的值。 bag.apple
有一个值,因为您在声明bag[fruit]
变量时将bag
设置为5,fruit
为'apple'
。
答案 1 :(得分:0)
javascript与Python的不同之处在于
d={xx:11}
d设为{ xx: 11 }
现在
key="we"
d={[key]:22}
d1设置为{ we: 22 }
Python将不接受xx-这是未定义的。但是js将xx视为字符串“ xx”。如果要以Python方式使用它,则必须如上所述使用[key]:22。