বোবিন্সের উত্তরের মতো এটি হাতছাড়া করার মতো মনে হয়নি, তাই আমি jQuery এর প্লাগইন বিকল্পগুলির প্যাটার্নটি পুরোপুরি ছিটিয়ে দিয়েছি।
এখানে কনস্ট্রাক্টর:
//default constructor for Preset 'class'
function Preset(params) {
var properties = $.extend({
//these are the defaults
id: null,
name: null,
inItems: [],
outItems: [],
}, params);
console.log('Preset instantiated');
this.id = properties.id;
this.name = properties.name;
this.inItems = properties.inItems;
this.outItems = properties.outItems;
}
এখানে ইনস্ট্যান্টেশনের বিভিন্ন উপায় রয়েছে:
presetNoParams = new Preset();
presetEmptyParams = new Preset({});
presetSomeParams = new Preset({id: 666, inItems:['item_1', 'item_2']});
presetAllParams = new Preset({id: 666, name: 'SOpreset', inItems: ['item_1', 'item_2'], outItems: ['item_3', 'item_4']});
এবং এটি যা তৈরি করেছে তা এখানে:
presetNoParams
Preset {id: null, name: null, inItems: Array[0], outItems: Array[0]}
presetEmptyParams
Preset {id: null, name: null, inItems: Array[0], outItems: Array[0]}
presetSomeParams
Preset {id: 666, name: null, inItems: Array[2], outItems: Array[0]}
presetAllParams
Preset {id: 666, name: "SOpreset", inItems: Array[2], outItems: Array[2]}