項目のコレクションとしてプロトタイプ関数を使用する JavaScript デザイン パターンを試しています (名前があるかどうかわかりません)。新しいアイテムを作成するには、まずコレクションをインスタンス化し、newItemBuilder 関数を取得し、必要な名前やその他の属性を設定して、実際のアイテムを作成します。
ただし、各アイテムの下で、それが属する collectionId をあまり手間をかけずに取得したいと考えています。これは JavaScript/Node.js で可能ですか? ある種の呼び出し元のコンテキスト情報を取得できますか?
https://gist.github.com/Niklas9/6350880で完全なソースの Gist を作成するか、以下の分数を参照してください。
Collection.js からの分数:
var Collection = function() {
this.id = 23423;
this.name = 'collection 1';
}
Item.js からの分数:
var Item = function() {
this.name = null;
this.collectionId = null;
}
ItemBuilder.js からの一部:
var ItemBuilder = function() {
this.name = null;
}
ItemBuilder.prototype.withName = function(name) {
this.name = name;
return this;
}
ItemBuilder.prototype.create = function() {
var item = Item;
item.name = this.name;
item.collectionId = null; // <-- this is where I want to get collectionId
return item;
}
発信者からの分数:
var itemBuilder = collection.newItemBuilder();
var item = itemBuilder.withName('item 1').create();