פונקציות בנאי (Constructor Functions) ב-JavaScript

השתמשו בפונקציות בנאי כדי ליצור אובייקטים רבים בעלי אותו מבנה.

פונקציית בנאי פועלת כתבנית (blueprint). משתמשים במילת המפתח new כדי לבנות אובייקטים מתוך התבנית הזו. מומלץ להתחיל שמות של בנאים באות גדולה (Capital letter).

איך זה עובד:

כשמשתמשים במילת המפתח 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