次の JavaScript/Angular コードがあります。
var a = {};
var b = {};
a.ref = b;
b.ref = a;
angular.copy(a);
angular.copy
発火すると、ブラウザがロックアップします。これは、コピー関数がディープ コピーを実行しているためであり、a の b の参照をコピーし始めると、b に入り、a の参照をコピーしようとするため、循環コピーが作成されるためであると想定しています。終わり。
この仮定は正しいですか?もしそうなら、これを回避する方法はありますか?その答えには、データの見た目を変えることが含まれると思いますが、他の人の意見を聞きたいです。