ES6 разрушает весь объект в этом - PullRequest
0 голосов
/ 09 июля 2019

Мне интересно, есть ли способ использовать деструктурирование для копирования всех свойств объекта в this, не зная реквизита.

class MyObject {
  constructor(data) {
    this.someFlag = true

    // How can I destructure 'data' into this.
  }
}

Я видел это ответ (и некоторые другие), но все они имеют общие знания о свойствах, которые нужно скопировать, или об использовании Object.assign.Мне интересно, как это сделать с помощью простой деструктуризации.

1 Ответ

3 голосов
/ 09 июля 2019

Нет, вы не можете использовать деструктуризацию, поскольку это будет использовано при переопределении this, что вы не можете сделать.Либо используйте Object.assign:

Object.assign(this, data);

Или, если вы действительно хотите использовать деструктурирование тем или иным способом:

Object.entries(data).forEach(([k, v]) => this[k] = v);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...