Javascript - 将一个大对象分配(而不是克隆)一个新变量以减少其名称
Posted
技术标签:
【中文标题】Javascript - 将一个大对象分配(而不是克隆)一个新变量以减少其名称【英文标题】:Javascript - Assign (not clone) a large object to a new variable to reduce its name 【发布时间】:2017-12-19 16:23:57 【问题描述】:我想将一个大对象分配给一个新变量以减少它的名称,但是我有一个错误:"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'])
【问题讨论】:
【参考方案1】:使用关键字const
创建一个常量,它不能被分配另一个值(如第二行)。
但即使您使用let
定义变量,将其设置为新值也不会更改原始对象。因此,原因是omit
创建了一个新对象。然后realEstateProjectFundReuse
将指向新创建的对象,而this.project.realEstateProjectMotivation.realEstateProjectFundReuse
仍指向旧对象。
一个选项如下:
const projectMotivation = this.project.realEstateProjectMotivation;
projectMotivation.realEstateProjectFundReuse = omit(projectMotivation.realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description'])
【讨论】:
以上是关于Javascript - 将一个大对象分配(而不是克隆)一个新变量以减少其名称的主要内容,如果未能解决你的问题,请参考以下文章