Javascript - 将大型对象分配给(而不是克隆)新变量以减少其名称



我想将一个大对象分配给一个新变量以减少其名称,但我有一个错误:"realEstateProjectFundReuse" is read-only

const realEstateProjectFundReuse = this.project.realEstateProjectMotivation.realEstateProjectFundReuse
realEstateProjectFundReuse = omit(realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description'])

但是这种语法有效

const realEstateProjectFundReuse = this.project.realEstateProjectMotivation.realEstateProjectFundReuse
this.project.realEstateProjectMotivation.realEstateProjectFundReuse = omit(realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description'])

使用关键字const创建一个常量,该常量不能被赋予另一个值(如在第二行中(。

但是,即使使用let来定义变量,将其设置为新值也不会更改原始对象。因此,原因是omit创建了一个新对象。 然后,realEstateProjectFundReuse将指向新创建的对象,而this.project.realEstateProjectMotivation.realEstateProjectFundReuse仍指向旧对象。

一种选择如下:

const projectMotivation = this.project.realEstateProjectMotivation;
projectMotivation.realEstateProjectFundReuse = omit(projectMotivation.realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description'])

最新更新