JavaScript Constructor Functions
একই কাঠামোর অনেকগুলো অবজেক্ট তৈরি করতে constructor functions ব্যবহার করুন।
একটি constructor function ব্লুপ্রিন্ট (blueprint) হিসেবে কাজ করে। এই ব্লুপ্রিন্ট থেকে অবজেক্ট তৈরি করতে আপনি new keyword ব্যবহার করেন। constructor-এর নাম সবসময় একটি বড় হাতের অক্ষর (capital letter) দিয়ে শুরু করা উচিত।
এটি যেভাবে কাজ করে:
যখন আপনি new keyword ব্যবহার করেন, JavaScript চারটি কাজ করে:
- এটি একটি নতুন খালি অবজেক্ট তৈরি করে।
- এটি
this-কে সেই নতুন অবজেক্টের দিকে নির্দেশ করার জন্য সেট করে। - এটি ফাংশন কোডটি এক্সিকিউট (execute) করে।
- এটি নতুন অবজেক্টটি রিটার্ন (return) করে।
this keyword অত্যন্ত গুরুত্বপূর্ণ। ফাংশনের ভেতরে, this আপনার নতুন অবজেক্টকে নির্দেশ করে।
উদাহরণ:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Ram", 50000);
const emp2 = new Employee("Kumar", 60000);
উভয় অবজেক্টই একই কাঠামো শেয়ার করে।
মেথড (methods) যোগ করা:
আপনি একটি constructor-এর ভেতরে ফাংশন যোগ করতে পারেন।
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
মেমরি ম্যানেজমেন্ট (Memory management):
সরাসরি constructor-এর ভেতরে মেথড যোগ করলে প্রতিটি অবজেক্টের জন্য একটি নতুন কপি তৈরি হয়। এতে বেশি মেমরি খরচ হয়।
এর পরিবর্তে, prototype property ব্যবহার করুন।
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
এখন, প্রতিটি এমপ্লয়ি (employee) greet মেথডটির একটি মাত্র কপি শেয়ার করবে। এটি আপনার কোডকে আরও দক্ষ (efficient) করে তোলে।
সারসংক্ষেপ:
- একক অবজেক্টের জন্য object literals ব্যবহার করুন।
- একই ধরনের একাধিক অবজেক্টের জন্য constructor functions ব্যবহার করুন।
উৎস: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k