Object Constructors ב-JavaScript

עליכם ליצור אובייקטים רבים מאותו סוג. JavaScript מציעה מספר דרכים לעשות זאת ביעילות.

Constructor Functions

בנאי (constructor) הוא פונקציה המשמשת להקמת אובייקטים חדשים. השתמשו בכללים הבאים כדי למנוע שגיאות:

Default Values

ניתן להגדיר ערכי ברירת מחדל בבנאי שלכם. זה מבטיח שהאובייקטים שלכם יישארו תקינים גם אם תדלגו על חלק מהפרטים.

Example: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }

אם תקראו ל-new Person(), השם יהפוך ל-"Unknown" והגיל יהפוך ל-0.

Object.create()

ניתן להשתמש ב-Object.create() כדי ליצור אובייקט חדש המבוסס על אובייקט קיים. זה משתמש בירושה מבוססת פרוטוטיפ (prototype-based inheritance). במקום להעתיק נתונים, האובייקט החדש מקושר לפרוטוטיפ המקורי.

Memory Optimization

אל תכניסו מתודות (methods) בתוך הבנאי עצמו. אם תעשו זאת, כל אובייקט חדש יקבל עותק משלו לאותה מתודה. זה מבזבז זיכרון.

במקום זאת, הוסיפו מתודות לפרוטוטיפ. בדרך זו, כל האובייקטים חולקים גרסה אחת ויחידה של המתודה.

Example: Person.prototype.greet = function() { console.log("Hello " + this.name); };

Inheritance

מחלקות (Classes) מאפשרות למחלקה אחת לרשת ממחלקה אחרת. השתמשו במילת המפתח super() במחלקה יורשת (child class) כדי לקרוא לבנאי של מחלקת האב. זה מאפשר לילד לגשת למאפיינים של האב.

יתרונות השימוש בבנאים:

Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp

Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96