как связать данные с этим путем деструктурирования назначения?

Я хочу добавить новый ключ и значение к объекту 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 :

Я не использую const, let или var, потому что объект this уже объявлен. Как я могу достичь своего желания? destructuring assignment можно?

Просто можно обычным присваиванием:

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

Я просто хочу использовать новые и красивые коды JavaScript.


person AmerllicA    schedule 18.06.2018    source источник


Ответы (1)


Вам нужны скобки, чтобы отличить объект уничтожения от инструкции блока.

({
    a: this.a,
    b: this.b,
    c: this.c,
} = obj);
person Nina Scholz    schedule 18.06.2018
comment
this — целевой объект. это то же самое, что и this.a = obj.a; и т. д. - person Nina Scholz; 18.06.2018