javascript - 如何通过解构赋值将数据绑定(bind)到这个?

标签 javascript object-destructuring

我想通过解构赋值this对象添加新的key和value,但是报错了:

Uncaught SyntaxError: Unexpected token :

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

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

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

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

所以对于解构赋值,我这样写:

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

但它出错了:

Uncaught SyntaxError: Unexpected token :

我不使用 constletvar,因为 this 对象已经声明。我怎样才能达到我的愿望?是否可以通过解构赋值实现?

简单地通过正常分配是可能的:

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

我只想修改新的漂亮的 JavaScript 代码。

最佳答案

您需要括号来区分销毁对象和 block 语句。

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

关于javascript - 如何通过解构赋值将数据绑定(bind)到这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50911850/

相关文章:

javascript - 使用接口(interface)销毁对象

javascript - 将表单序列化为 JSON 或从 JSON 序列化

javascript - Chrome 开发者工具中的 "XHR Load"是什么意思?

javascript - 为什么JavaScript中的null大于-1,小于1,但不等于(==)0?那到底是什么?

javascript - 什么是解构赋值及其用途?

javascript - User.findOne 在对象解构字符串键中循环

javascript - Webpack 并非所有源映射都显示 typescript

javascript - 如何在计算器工作中实现加/减按钮?

javascript - 具有自身默认值的对象解构赋值