2017-07-14 4 views
1

を削減するための新しい変数に大きなオブジェクト、私はその名前を減らすために、新しい変数に大きなオブジェクトを割り当てるが、私はエラーを持っている:"realEstateProjectFundReuse" is read-onlyJavascriptを - 割り当て(クローンではない)、その名前

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

しかし、この構文は、あなたが(あなたの2行目のように)別の値を割り当てられますできない、定数を作成し、キーワードconstを使用して

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

答えて

1

に動作します。

しかし、letを使用して変数を定義する場合でも、変数を新しい値に設定しても元のオブジェクトは変更されません。その理由は、omitが新しいオブジェクトを作成するためです。 realEstateProjectFundReuseは新しく作成されたオブジェクトを指し、this.project.realEstateProjectMotivation.realEstateProjectFundReuseはまだ古いオブジェクトを指します。

1つのオプションは、次のようになります。

const projectMotivation = this.project.realEstateProjectMotivation; 
projectMotivation.realEstateProjectFundReuse = omit(projectMotivation.realEstateProjectFundReuse, [this.fundReuseTypeChoose(), 'description']) 
関連する問題