使用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;
}
}
答案 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', ...]))
。