JavaScript-এ Object Constructors
আপনার প্রায়শই একই ধরণের অনেক অবজেক্ট তৈরি করার প্রয়োজন হয়। JavaScript আপনাকে এটি করার জন্য বেশ কিছু উপায় প্রদান করে।
Constructor Functions
একটি constructor হলো অবজেক্ট তৈরি এবং সেটআপ করার জন্য একটি বিশেষ ফাংশন। এটি কল করার জন্য new keyword ব্যবহার করুন। ফাংশনের নাম সব সময় একটি বড় হাতের অক্ষর (capital letter) দিয়ে শুরু করুন। এটি আপনাকে সাধারণ ফাংশন থেকে এটিকে আলাদা করতে সাহায্য করে।
আপনি যদি new keyword ব্যবহার করতে ভুলে যান, তবে ফাংশনটি একটি সাধারণ ফাংশনের মতো কাজ করবে এবং একটি সঠিক অবজেক্ট তৈরি করতে ব্যর্থ হবে।
Default Values
আপনি আপনার constructor-এ default values সেট করতে পারেন। এটি নিশ্চিত করে যে আপনি কোনো argument দিতে ভুলে গেলেও আপনার অবজেক্টে সব সময় সঠিক ডেটা থাকবে।
Example: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }
Prototypes এবং Memory
সরাসরি constructor-এ মেথড যোগ করার চেয়ে prototype-এ মেথড যোগ করা বেশি বুদ্ধিমানের কাজ। যখন আপনি prototype ব্যবহার করেন, তখন সমস্ত instance একটি মাত্র মেথড শেয়ার করে। এটি মেমরি সাশ্রয় করে কারণ কম্পিউটার প্রতিটি নতুন অবজেক্টের জন্য মেথডটি পুনরায় তৈরি করে না।
Object.create()
এই মেথডটি একটি বিদ্যমান অবজেক্টকে prototype হিসেবে ব্যবহার করে একটি নতুন অবজেক্ট তৈরি করে। এটি কোনো constructor ছাড়াই inheritance প্রতিষ্ঠা করে। নতুন অবজেক্টটি মূল অবজেক্টের properties অ্যাক্সেস করতে পারে।
Class Inheritance
আধুনিক JavaScript inheritance হ্যান্ডেল করার জন্য class ব্যবহার করে। আপনি একটি parent class-কে extend করে একটি child class তৈরি করতে পারেন। Child থেকে parent-এ ডেটা পাঠানোর জন্য super() keyword ব্যবহার করুন। এটি child class-কে parent-এর properties ব্যবহার করার পাশাপাশি নিজস্ব অনন্য বৈশিষ্ট্য যোগ করার সুযোগ দেয়।
কেন constructor ব্যবহার করবেন?
- Reusable code: দ্রুত অনেকগুলো একই ধরণের অবজেক্ট তৈরি করুন।
- Encapsulation: অবজেক্ট সেটআপের লজিক এক জায়গায় রাখুন।
- Easy initialization: তৈরির সময় নির্দিষ্ট ভ্যালু সেট করুন।
- Inheritance: সহজ অবজেক্ট থেকে জটিল অবজেক্ট তৈরি করুন।
- Clean code: আপনার লজিক গোছানো এবং সহজে পড়ার উপযোগী রাখুন।
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