JavaScript میں Object Constructors
JavaScript constructors آپ کو مؤثر طریقے سے objects بنانے میں مدد دیتے ہیں۔ آپ انہیں ایک ہی ساخت (structure) والے بہت سے objects بنانے کے لیے استعمال کر سکتے ہیں۔
Constructor Functions
Constructor اشیاء (objects) کو ابتدائی حالت (initialize) دینے کے لیے ایک فنکشن ہے۔ اسے کال کرنے کے لیے new کی ورڈ استعمال کریں۔ اگر آپ new کی ورڈ بھول جائیں گے، تو فنکشن مطلوبہ طریقے سے کام نہیں کرے گا۔
Constructor کے نام ہمیشہ بڑے حرف (capital letter) سے شروع کریں۔ اس سے آپ کو انہیں عام فنکشنز سے الگ پہچاننے میں مدد ملتی ہے۔
مثال:
- Person(name, age)
Object.create()
آپ کسی موجودہ object کو prototype کے طور پر استعمال کرتے ہوئے ایک نیا object بنانے کے لیے Object.create() استعمال کر سکتے ہیں۔ یہ طریقہ objects کے درمیان وراثت (inheritance) کا نظام قائم کرتا ہے۔
Default Values
آپ اپنے constructor میں ڈیفالٹ ویلیوز (default values) سیٹ کر سکتے ہیں۔ اس سے یہ یقینی بنتا ہے کہ آپ کے objects کے پاس ہمیشہ درست ڈیٹا ہو۔ اگر آپ کوئی ویلیو فراہم نہیں کرتے، تو constructor ڈیفالٹ ویلیو استعمال کرتا ہے۔
مثال:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
Prototypes اور Memory
Prototype میں methods شامل کرنے سے میموری بچتی ہے۔ ہر object کے پاس فنکشن کی اپنی کاپی ہونے کے بجائے، وہ سب prototype سے ایک ہی ورژن کا استعمال کرتے ہیں۔
مثال:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Inheritance
Classes ایک کلاس کو دوسری کلاس سے وراثت (inherit) حاصل کرنے کی اجازت دیتی ہیں۔ Parent constructor کو کال کرنے کے لیے super() کی ورڈ استعمال کریں۔ یہ child classes کو parent classes کی properties اور methods استعمال کرنے کی اجازت دیتا ہے۔
Constructors کیوں استعمال کریں؟
- Reusability: ایک ٹیمپلیٹ سے بہت سے objects بنائیں۔
- Organization: Object کی سیٹ اپ لاجک کو ایک ہی جگہ رکھیں۔
- Initialization: تخلیق کے دوران ہی مخصوص ویلیوز سیٹ کریں۔
- Inheritance: سادہ اشیاء سے پیچیدہ objects بنائیں۔
- Maintenance: یہ آپ کے کوڈ کو پڑھنے اور مینیج کرنے میں آسان بناتا ہے۔
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