JavaScript میں Object Constructors

آپ کو اکثر ایک ہی قسم کے بہت سے objects بنانے کی ضرورت پڑتی ہے۔ JavaScript آپ کو ایسا کرنے کے کئی طریقے فراہم کرتی ہے۔

Constructor Functions

Constructor ایک خاص function ہے جو objects بنانے اور انہیں ترتیب دینے کے لیے استعمال ہوتا ہے۔ اسے کال کرنے کے لیے new keyword کا استعمال کریں۔ ہمیشہ function کے نام کا آغاز بڑے حرف (capital letter) سے کریں۔ اس سے آپ کو اسے عام functions سے الگ پہچاننے میں مدد ملتی ہے۔

اگر آپ new keyword بھول جائیں، تو function ایک عام function کی طرح کام کرے گا اور ایک درست object بنانے میں ناکام رہے گا۔

Default Values

آپ اپنے constructor میں default values سیٹ کر سکتے ہیں۔ اس سے یہ یقینی بنتا ہے کہ اگر آپ کوئی argument فراہم کرنا بھول بھی جائیں، تب بھی آپ کے objects میں ہمیشہ درست ڈیٹا موجود ہو۔

مثال:

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

Prototypes اور Memory

Methods کو براہ راست constructor میں شامل کرنے کے بجائے prototype میں شامل کرنا زیادہ بہتر ہے۔ جب آپ prototype کا استعمال کرتے ہیں، تو تمام instances ایک ہی method کو شیئر کرتے ہیں۔ اس سے memory بچتی ہے کیونکہ کمپیوٹر ہر نئے object کے لیے method کو دوبارہ نہیں بناتا۔

Object.create()

یہ method ایک موجودہ object کو بطور prototype استعمال کرتے ہوئے ایک نیا object تخلیق کرتا ہے۔ یہ بغیر کسی constructor کے inheritance قائم کرتا ہے۔ نیا object اصل object کی properties تک رسائی حاصل کر سکتا ہے۔

Class Inheritance

جدید JavaScript inheritance کو سنبھالنے کے لیے classes کا استعمال کرتی ہے۔ آپ ایک child class بنا سکتے ہیں جو parent class کو extend کرتی ہو۔ Child سے parent کو ڈیٹا منتقل کرنے کے لیے super() keyword کا استعمال کریں۔ اس سے child کو parent کی properties استعمال کرنے کی اجازت ملتی ہے جبکہ وہ اپنی منفرد خصوصیات بھی شامل کر سکتا ہے۔

Constructors کیوں استعمال کریں؟

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

Optional learning community: https://t.me/GyaanSetuAi