4

我想通过添加新的键和值到this对象destructuring assignment,但它出错了:

Uncaught SyntaxError: Unexpected token :

让我们看看我的例子,假设我有obj数据对象:

const obj = {
    'a':'1',
    'b':'2',
    'c':'3',
};

现在我想将此数据绑定到this对象,这意味着我们想要:

console.log(this.a); //=> "1"

因此,通过解构赋值,我可以这样写:

{
    a: this.a,
    b: this.b,
    c: this.c,
} = obj;

但它陷入了错误:

Uncaught SyntaxError: Unexpected token :

我不使用constlet或者var因为该this对象已经被声明。我怎样才能达到我的愿望?有可能destructuring assignment吗?

只需通过正常分配即可:

this.a = obj.a;
this.b = obj.b;
this.c = obj.c;

我只是想要正确的新的和漂亮的JavaScript代码。

4

1 回答 1

6

您需要括号来区分析构对象和块语句。

({
    a: this.a,
    b: this.b,
    c: this.c,
} = obj);
于 2018-06-18T14:39:12.413 回答