ES6:用符号作为键解构一个对象

ES6: destructuring an object with symbols as keys

我有一个包含符号作为键的对象。在这种情况下我该如何进行解构赋值?

let symbol = Symbol()
let obj = {[symbol]: ''}
let { /* how do I create a variable here, that holds the value of [symbol] property? */ } = obj

我需要知道这是否可行,我知道明显而简单的解决方法,但这不是我要问的。

更新。有趣的是,我知道该怎么做,但是 typescript 产生了错误,我认为我在 JS 中做错了什么。 打字稿用户。

使用别名(参见assigning to new variable names):

let symbol = Symbol()
let obj = { [symbol] : 'value'}
let { [symbol]: alias } = obj

console.log(alias)

使用与构建对象相同的语法进行解构:

let symbol = Symbol()
let obj = {[symbol]: 'foo'}
let { [symbol]: myValue } = obj;
console.log(myValue);