我想将一个大对象分配给一个新变量以减少其名称,但出现错误:“realEstateProjectFundReuse”是只读的
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'])
关于Javascript - 将大对象分配(而不是克隆)到新变量以减少其名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45105143/