类成员的对象解构

时间:2016-09-01 06:58:38

标签: ecmascript-6 destructuring

使用ES6,我有一个类,我在其中定义一些变量和一个函数,它将获取一个对象并将我的变量赋值给它。这是重复的,那么有什么方法可以使用解构分配来实现这一目标吗?

class BasicDataMgmt {

  public id: number;
  public name: string;
  public email: string;
  public phone: string;
  public type: string;

  fetchData(data) {
    this.id = data.id;
    this.name = data.name;
    this.email = data.email;
    this.phone = data.phone;
    this.type = data.type;
  }

}

1 个答案:

答案 0 :(得分:1)

可以是

  fetchData(data) {
    Object.assign(this, data);
  }

用于未经过抽样的数据。或

  fetchData({ id, name, ... }) {
    Object.assign(this, { id, name, ... });
  }

用于清理数据。

使用Lodash _.pick有助于Object.assign(this, _.pick(data, ['id', 'name', ...]))