Какова операция Object.assign, когда он не назначен переменной? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть следующая модель

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

Кроме того, у меня есть 2 элемента типа драйвера под названием: sourceDriver & driver

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

Какова функция Object.assign при размещении 2 параметров и не назначении их переменной?

Дополнительная информация

Использование Angular 6, компонентов AngularМатериал (MatDialog MatTable), и эта часть кода принадлежит изданию / созданию

1 Ответ

0 голосов
/ 04 октября 2018
Object.assign(this.sourceDriver, driver);

Назначает все свойства и их значения от driver до this.sourceDriver.Этот обновленный this.sourceDriver объект затем также возвращается, но это здесь довольно неактуально, и Object.assign оказывает влияние на this.sourceDriver, даже если вы игнорируете возвращаемое значение.

Поскольку вы устанавливаете this.sourceDriverв null в следующей строке вся эта операция довольно бессмысленна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...