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

Javascript - Assign (not clone) a large object to a new variable to reduce its name

我想将一个大对象分配给一个新变量以减少其名称,但出现错误:"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'])