私のアプリケーションでは、データを別のオブジェクトに渡すときにデータを複製しているかどうかわかりません。例として、次のコードを見てください。
var DataStore = function(data) {
this.data = data; // <-- typeof data === 'object'
}
var Controller = function() {
var dataStore = new DataStore({foo: 'bar'});
var plugin = new Plugin(dataStore.data);
}
var Plugin = function(data) {
this.data = data;
}
var app = new Controller();
プラグインを作成すると、データストアからデータプロパティが渡されます。次に、プラグイン内のプロパティに割り当てられます。渡されるデータは私の質問のオブジェクトであることを念頭に置いて、これはメモリ内に2つの変数を作成しますか、それともプラグインのデータプロパティはデータストアオブジェクトのプロパティを参照しますか?
割り当て後に参照が保持されない場合、データストアをプラグインに渡してローカルで参照を保持するにはどうすればよいですか?または、DataStoreをアプリケーションスコープのグローバル変数として保持し、プラグインからグローバルに参照する必要がありますか?