JavaScript میں Object Constructors
آپ کو ایک ہی قسم کے بہت سے objects بنانے کی ضرورت ہوتی ہے۔ JavaScript اس کام کو مؤثر طریقے سے کرنے کے لیے کئی طریقے فراہم کرتا ہے۔
Constructor Functions
Constructor ایک ایسا function ہے جو نئے objects بنانے کے لیے استعمال ہوتا ہے۔ غلطیوں سے بچنے کے لیے ان اصولوں پر عمل کریں:
- Function کے نام کا پہلا حرف بڑا (Capitalize) رکھیں۔ اس سے آپ کو اسے constructor کے طور پر پہچاننے میں مدد ملتی ہے۔
newkeyword کا استعمال کریں۔ اگر آپ اسے بھول جاتے ہیں، تو function ایک عام function کی طرح چلتا ہے اور object بنانے میں ناکام ہو جاتا ہے۔
Default Values
آپ اپنے constructor میں default values سیٹ کر سکتے ہیں۔ اس سے یہ یقینی بنتا ہے کہ اگر آپ کچھ تفصیلات چھوڑ بھی دیں، تب بھی آپ کے objects درست رہیں گے۔
مثال:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
اگر آپ new Person() کو کال کرتے ہیں، تو نام "Unknown" اور عمر 0 ہو جائے گی۔
Object.create()
آپ کسی موجودہ object کی بنیاد پر نیا object بنانے کے لیے Object.create() کا استعمال کر سکتے ہیں۔ یہ prototype-based inheritance کا استعمال کرتا ہے۔ ڈیٹا کی کاپی بنانے کے بجائے، نیا object اصل prototype سے منسلک ہو جاتا ہے۔
Memory Optimization
Methods کو خود constructor کے اندر نہ رکھیں۔ اگر آپ ایسا کرتے ہیں، تو ہر نئے object کو اس method کی اپنی الگ کاپی ملتی ہے، جس سے memory ضائع ہوتی ہے۔
اس کے بجائے، methods کو prototype میں شامل کریں۔ اس طرح، تمام objects ایک ہی method کا استعمال کریں گے۔
مثال:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
Inheritance
Classes ایک class کو دوسری class سے وراثت (inherit) لینے کی اجازت دیتی ہیں۔ Parent constructor کو کال کرنے کے لیے child class میں super() keyword کا استعمال کریں۔ اس سے child class کو parent کی properties تک رسائی حاصل ہوتی ہے۔
Constructors استعمال کرنے کے فوائد:
- Reusable code: ایک ہی پیٹرن سے بہت سے objects بنائیں۔
- Clean logic: Object کی سیٹنگ کو ایک ہی جگہ رکھیں۔
- Easy initialization: تخلیق کے دوران مخصوص values سیٹ کریں۔
- Inheritance: سادہ objects سے پیچیدہ objects بنائیں۔
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