توابع سازنده JavaScript
از توابع سازنده (constructor functions) برای ایجاد اشیاء متعدد با ساختار یکسان استفاده کنید.
یک تابع سازنده مانند یک نقشه (blueprint) عمل میکند. شما از کلمه کلیدی new برای ساخت اشیاء از این نقشه استفاده میکنید. نام توابع سازنده باید با یک حرف بزرگ شروع شود.
نحوه عملکرد:
وقتی از کلمه کلیدی new استفاده میکنید، JavaScript چهار کار انجام میدهد:
- یک شیء خالی جدید ایجاد میکند.
- مقدار
thisرا طوری تنظیم میکند که به آن شیء جدید اشاره کند. - کد تابع را اجرا میکند.
- شیء جدید را بازمیگرداند.
کلمه کلیدی this ضروری است. در داخل تابع، this به شیء جدید شما اشاره دارد.
مثال:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Ram", 50000);
const emp2 = new Employee("Kumar", 60000);
هر دو شیء دارای ساختار یکسانی هستند.
افزودن متدها:
شما میتوانید توابع را در داخل یک سازنده اضافه کنید.
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
مدیریت حافظه:
افزودن مستقیم متدها در داخل سازنده، برای هر شیء یک کپی جدید ایجاد میکند. این کار حافظه بیشتری مصرف میکند.
در عوض، از ویژگی prototype استفاده کنید.
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
اکنون، هر کارمند از یک نسخه واحد از متد greet استفاده میکند. این کار کد شما را کارآمدتر میکند.
خلاصه:
- برای اشیاء تکی از object literals استفاده کنید.
- برای اشیاء متعدد با ساختار مشابه، از توابع سازنده استفاده کنید.
منبع: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k