オブジェクトのリファレンスとjavascriptのオブジェクトに割り当てられたリファレンスを見る方法オブジェクトでlodash _.clone()を使用し、 1としてold.idを更新中JavaScriptのオブジェクトのリファレンスと参照の方法を知る方法
var Obj = {id : 0, box: 0, ei : 0};
var model = {id : 0,ob : [{c: 1, a: 0}],com: _.clone(Obj)};
var old=_.clone(model)
old.id=1;
console.log(old.id===model.id); //false correct
old.com.id=1;
console.log(old.com.id===model.com.id);//true
怒鳴るの例では、モデルIDが更新されていません、しかし、1としてold.com.idを更新しながら、今model.com.idも、なぜ更新しましたか?
*オブジェクト*内の参照は何ですか、オブジェクトは参照を使用して割り当てられます。ですから、 'var a = {}'を実行すると、 '{}'ではなく 'a 'がメモリ位置を保持します。 *オブジェクトに割り当てられた参照を見る方法*私が知る限り、あなたはできません。 * model.com.idも理由を更新しました。なぜなら、_.cloneはディープコピーをしないからです。第1レベルのみコピーする – Rajesh
ディープコピーのオプションについては、これを参照できます。https://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone-an-object- in-javascript – Rajesh