ES6 解构中的混乱

Confusion in destructuring in ES6

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

const { foo: bar } = ...

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

最好将解构看作是声明对象的反面,所以

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

将创建一个对象 obj,其键 connectionType 包含来自 hidingSpotConnection 变量的值,

const { connectionType: hidingSpotConnection } = ...

connectionType 键中获取值并将其存储在名为 hidingSpotConnection.

的变量中