ES6中的解构混乱

时间:2017-02-05 20:47:54

标签: javascript ecmascript-6 destructuring

在下面的JS(es6)代码中,带有冒号的花括号里面的变量是怎么回事?

const { foo: bar } = ...

通常当你看到它时,它会从右到左进行变量赋值,就像在Objects中一样。在对象中,它会将变量bar分配给对象键foo,但这似乎不是这里发生的事情。这是做什么的?

1 个答案:

答案 0 :(得分:6)

最好考虑与声明对象相反的解构类型,所以

const hidingSpotConnection = ...
const obj = { connectionType: hidingSpotConnection };

会使对象obj的密钥connectionType包含hidingSpotConnection变量的值,

const { connectionType: hidingSpotConnection } = ...

connectionType键获取值并将其存储在名为hidingSpotConnection的变量中。