在下面的JS(es6)代码中,带有冒号的花括号里面的变量是怎么回事?
const { foo: bar } = ...
通常当你看到它时,它会从右到左进行变量赋值,就像在Objects中一样。在对象中,它会将变量bar
分配给对象键foo
,但这似乎不是这里发生的事情。这是做什么的?
答案 0 :(得分:6)
最好考虑与声明对象相反的解构类型,所以
const hidingSpotConnection = ...
const obj = { connectionType: hidingSpotConnection };
会使对象obj
的密钥connectionType
包含hidingSpotConnection
变量的值,
const { connectionType: hidingSpotConnection } = ...
从connectionType
键获取值并将其存储在名为hidingSpotConnection
的变量中。