Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

OOP Javascriptで循環参照を回避する方法は?


循環参照は、2つの別々のオブジェクトが相互に参照を渡す場合に発生します。

古いブラウザでは、循環参照がメモリリークの原因でした。ガベージコレクションアルゴリズムが改善され、サイクルと循環依存関係を適切に処理できるようになったため、これは問題ではなくなりました。

ただし、純粋な設計の観点からは、循環参照は依然として悪いことであり、コードの臭いがあります。循環参照は、相互に参照している2つのオブジェクトが緊密に結合されており、一方のオブジェクトを変更すると、もう一方のオブジェクトも変更する必要がある場合があることを意味します。

循環参照の回避

JSで循環参照を回避する方法は1つではありません。ユースケースや状況によって異なり、場合によっては必要になることもあります。これを理解するための例をとることができます:

DogとPersonの2つのオブジェクトがあるとします。犬のオブジェクトを使用するだけで犬の飼い主を参照し、人物のオブジェクトを使用する人のペットを参照できるようにする必要があります。

let dog = new Dog();
let person = new Person();
// Creating a circular reference
dog.owner = person
person.pet = dog

ほとんどのシナリオでは、1つのオブジェクトにのみアクセスし、そこからもう1つのオブジェクトを派生させる必要があります。そのため、リンクの1つを壊すことができます。そうでない場合は、マップを使用して、逆のシナリオでオブジェクトをマップできます。ただし、ハックを使用する代わりに、円形の参照をそこに配置することをお勧めします。


  1. Excel で循環参照を削除する方法 (2 つの方法)

    Excel での循環参照 細胞が問題です。循環参照は常に無限ループにつながり、Excel の操作が遅くなる可能性があるためです。また、期待される計算値以外のセル内の値ゼロ (0) を返します。すべての問題を修正するには、Excel で循環参照を削除することをお勧めします。これに関して、Excel で循環参照を簡単に削除するために使用できる 2 つの方法について説明しました。 実践ワークブックをダウンロード Excel ファイルをダウンロードして練習することをお勧めします。 循環参照:概要 Excel のセル数式が直接的または間接的に独自のセルを参照する場合、それは循環参照と呼ばれます。 さ

  2. Excel で循環参照を見つける方法 (2 つの簡単なコツ)

    ワークシートに Excel の数式を入力することがありますが、何らかの理由で機能しません。代わりに、Circular Reference に言及する警告プロンプトが表示されます .この記事では、Excel で循環参照を見つける方法について説明します。また、いくつかの美しい例と説明を使用して、修正または削除する方法についても学びます. 練習用ワークブック 次のワークブックをダウンロードして練習してください。 Excel での循環参照 数式が直接的または間接的に独自のセルに言及されている場合、循環参照 起こります。それは難しいかもしれません。計算時に、数式が独自のセルを使用すると、循環参照が