ES6中的解构混乱

gle*_*lio 2 javascript destructuring ecmascript-6

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

const { foo: bar } = ...
Run Code Online (Sandbox Code Playgroud)

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

log*_*yth 6

最好考虑解构类似于声明对象的反面,所以在哪里

const hidingSpotConnection = ...
const obj = { connectionType: hidingSpotConnection };
Run Code Online (Sandbox Code Playgroud)

obj使用connectionType包含hidingSpotConnection变量值的键创建一个对象,

const { connectionType: hidingSpotConnection } = ...
Run Code Online (Sandbox Code Playgroud)

connectionType密钥中获取值并将其存储在一个名为的变量中hidingSpotConnection.