首页 > 解决方案 > 如何通过解构赋值将数据绑定到这个?

问题描述

我想通过添加新的键和值到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代码。

标签: javascriptobject-destructuring

解决方案


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

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

推荐阅读