首页 > 解决方案 > Object.assign 没有赋值给变量的时候是什么操作?

问题描述

我有以下型号

Driver {
  public id: string;
  public name: string;
  public surname: string;
  public asset?: Asset;
  public assetId?: string;
  public phoneNumber: string;
  public companyId: string;
}

此外,我有 2 个驱动程序类型的元素,称为: sourceDriver驱动程序

if (this.sourceDriver) {
   Object.assign(this.sourceDriver, driver);
   this.sourceDriver = null;
} else {
  this.dataSource.data.push(driver);
}
this.refresh()

放置 2 个参数而不将其分配给变量时, Object.assign的功能是什么?

更多信息

使用Angular 6,Angular Material的组件(MatDialog MatTable),这部分代码属于一个版本/创作

标签: javascriptangularangular-material

解决方案


Object.assign(this.sourceDriver, driver);

这会将所有属性及其值从分配 driver this.sourceDriver。然后也会返回这个更新this.sourceDriver的对象,但这在这里是无关紧要的,即使你忽略返回值也会Object.assign产生影响。this.sourceDriver

由于您要设置this.sourceDrivernull下一行,因此整个操作毫无意义。


推荐阅读