理解计算属性(方括号)

时间:2017-11-01 10:38:29

标签: javascript

我根本无法绕过"计算属性",我已经用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" 

2 个答案:

答案 0 :(得分:0)

您将prompt的值保存在名为fruit的变量中。在这种情况下,它默认为" apple"。

然后您宣布另一个变量bagbag有一个属性,此处为[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。