クラスのインスタンスに格納されているプロパティを保護する必要がある場合があります。私のクラスだけがインスタンスの特定のプロパティを取得/設定するためのアクセス権を持っていればよいので、私のソリューションはこのクラスのファクトリ関数を持つことです。このファクトリ内では、各インスタンスのデータを格納する配列を格納します。プライベートデータのクラス(JavaScript)
だから私は、例えば、これを持っていると思います:
instanceData
は、すべてのプロパティのキーは文字列にキャストしているため、配列があるので、私はのオブジェクトを含む、そこに内部の配列を置く理由そのインスタンスを第1の要素として含み、そのインスタンスのデータを第2の要素として含む。
インスタンスのデータにアクセスするには、array[0] === instance
の中にあるinstanceData
の配列を検索するだけです。
私の例は正常に動作しますが、ガベージコレクタはどうですか? instanceData
がインスタンスを保持する場合、インスタンスはどのようにガベージコレクトされますか?