我想将一个大对象分配给一个新变量以减少其名称,但我有一个错误:"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'])
答案 0 :(得分:1)
使用关键字const
创建一个常量,不能为其分配另一个值(如第二行中所示)。
但即使您使用let
来定义变量,将其设置为新值也不会更改原始对象。因此,omit
创建了一个新对象。然后,realEstateProjectFundReuse
将指向新创建的对象,而this.project.realEstateProjectMotivation.realEstateProjectFundReuse
仍然指向旧对象。
一个选项如下:
const projectMotivation = this.project.realEstateProjectMotivation;
projectMotivation.realEstateProjectFundReuse = omit(projectMotivation.realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description'])