জাভাস্ক্রিপ্ট অবজেক্ট কনস্ট্রাক্টর

 

জাভাস্ক্রিপ্ট অবজেক্ট কনস্ট্রাক্টর (JavaScript Object Constructors)

জাভাস্ক্রিপ্ট অবজেক্ট কনস্ট্রাক্টর হলো এমন একটি ফাংশন, যার মাধ্যমে আমরা একাধিক অবজেক্ট তৈরি করতে পারি একটি নির্দিষ্ট স্ট্রাকচারে। এটি অনেকটা ক্লাসের মতো কাজ করে। নিচে ধাপে ধাপে আমরা এই কনসেপ্টটি শিখব।

১. অবজেক্ট কীভাবে তৈরি হয় সাধারণভাবে?


<script>
let person = {
  firstName: "John",
  lastName: "Doe",
  age: 30,
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};
</script>

এইভাবে আমরা একটি নির্দিষ্ট অবজেক্ট তৈরি করতে পারি। কিন্তু যদি আমাদের একই ধরনের অনেক অবজেক্ট দরকার হয়, তখন এই কোড বারবার লিখতে হবে। তাই আমরা ব্যবহার করি Constructor Function

২. কনস্ট্রাক্টর ফাংশন কী?

এটি একটি ফাংশন যা বড় অক্ষর দিয়ে শুরু হয় (বেশিরভাগ সময়) এবং এটি this কীওয়ার্ড ব্যবহার করে অবজেক্টের প্রপার্টি সেট করে।


<script>
function Person(first, last, age) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.fullName = function() {
    return this.firstName + " " + this.lastName;
  }
}

let person1 = new Person("Alice", "Smith", 25);
let person2 = new Person("Bob", "Brown", 40);
</script>

এখানে new Person(...) ব্যবহার করে আমরা নতুন অবজেক্ট তৈরি করেছি। প্রতিবার new দিয়ে কল করলে কনস্ট্রাক্টর একটি নতুন অবজেক্ট রিটার্ন করে।

৩. উদাহরণস্বরূপ টেবিলের মাধ্যমে

অবজেক্ট ফুল নাম বয়স
person1 Alice Smith 25
person2 Bob Brown 40

৪. কনস্ট্রাক্টরে মেথড ডিফাইন না করে প্রোটোটাইপ ব্যবহার

প্রতিটি অবজেক্টে একই মেথড থাকলে বারবার সেটি মেমোরিতে সংরক্ষণ হয়। এটা অপ্টিমাইজ করতে prototype ব্যবহার করা হয়।


<script>
function Student(name, grade) {
  this.name = name;
  this.grade = grade;
}

Student.prototype.show = function() {
  return this.name + " is in grade " + this.grade;
};

let s1 = new Student("Rahim", 10);
let s2 = new Student("Karim", 12);
</script>

এভাবে prototype এর মাধ্যমে সব অবজেক্ট একই মেথড ব্যবহার করতে পারে, কিন্তু মেমোরিতে একবারই সংরক্ষণ হয়।

৫. কনস্ট্রাক্টর ফাংশনের সুবিধা

  • একই স্ট্রাকচারে অনেক অবজেক্ট তৈরি করা যায়
  • ডেটা এবং মেথড আলাদাভাবে সংরক্ষণ করা যায়
  • প্রোটোটাইপের মাধ্যমে কার্যক্ষমতা বাড়ানো যায়

৬. সতর্কতা

কনস্ট্রাক্টর ফাংশন ব্যবহারে ভুল করলে কিছু সমস্যা হতে পারে:

  • new না দিলে this উইন্ডো অবজেক্ট হয়ে যেতে পারে
  • ফাংশন নামের প্রথম অক্ষর বড় না হলে বিভ্রান্তি হতে পারে

৭. উপসংহার

JavaScript Object Constructor আমাদের ডেটা মডেলিংকে সহজ করে তোলে। এটি আমাদের জাভাস্ক্রিপ্ট কোডকে আরও রিইউজেবল এবং প্রফেশনাল করে তোলে। প্রোটোটাইপ ব্যবহারের মাধ্যমে আরও দক্ষতা অর্জন করা যায়।

 

Leave a Reply