私は2つのオブジェクトを持っています。コードのある時点で、最初のオブジェクトのコピーを 2 番目のオブジェクトに格納したいと考えています。
長い間、すべて正常に動作します。奇妙な部分にはノー。最初のオブジェクトに変更を加えると、同じ変更が 2 番目のオブジェクトに適用されます (これは意図したものではありません)。これは、2 つの間のある種の参照が保持されているためだと思います。
問題を示す例:
//First object
var person = {
value: 1,
item: 2
}
//Second object
var objSum = {
contain: person,
info: "other stuff"
}
//Apply change to first object
person.value = 55;
//Echoing second object
console.log(objSum);
alert("done");
ログ出力: include => item: 2, value: 55. info: "other stuff"
次のようにしたい: 含む => 項目: 2、値: 1. 情報: 「その他のもの」
それはおそらく単純なことですが、私はそれを理解することができません。なぜこれが起こるのか、どうすればそれを防ぐことができますか