私はbackbone.jsモデルを扱っているので、私の質問がバックボーンがクローンを処理する方法に特有のものなのか、それともJavaScript全般に当てはまるのかわかりません。基本的に、オブジェクトに割り当てられた属性プロパティを持つモデルを複製する必要があります。問題は、親またはクローンの属性を更新すると、他のモデルも更新されることです。簡単な例を次に示します。
var A = Backbone.Model.extend({});
var a = new A({'test': {'some': 'crap'}});
var b = a.clone();
a.get('test')['some'] = 'thing';
// I could also use a.set() to set the attribute with the same result
console.log(JSON.stringify(a))
console.log(JSON.stringify(b))
次のログが記録されます。
{"test":{"some":"thing"}}
{"test":{"some":"thing"}}
bがその属性を参照しないようにaを複製することをお勧めします。どんな助けでも大歓迎です。