توابع سازنده JavaScript

از توابع سازنده (constructor functions) برای ایجاد اشیاء متعدد با ساختار یکسان استفاده کنید.

یک تابع سازنده مانند یک نقشه (blueprint) عمل می‌کند. شما از کلمه کلیدی new برای ساخت اشیاء از این نقشه استفاده می‌کنید. نام توابع سازنده باید با یک حرف بزرگ شروع شود.

نحوه عملکرد:

وقتی از کلمه کلیدی new استفاده می‌کنید، JavaScript چهار کار انجام می‌دهد:

کلمه کلیدی 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 استفاده می‌کند. این کار کد شما را کارآمدتر می‌کند.

خلاصه:

منبع: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k