𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁-এ 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀

একটি একটি করে অবজেক্ট তৈরি করা ধীরগতির। যদি আপনার একই প্রপার্টিজ সম্পন্ন দশজন ছাত্রের প্রয়োজন হয়, তবে বারবার একই কোড লিখে আপনি সময় নষ্ট করবেন।

JavaScript Constructor Functions-এর মাধ্যমে এই সমস্যার সমাধান করে।

একটি constructor-কে একটি ব্লুপ্রিন্ট (blueprint) হিসেবে ভাবুন। একটি বাড়ির ব্লুপ্রিন্ট নিজে কোনো বাড়ি নয়, কিন্তু আপনি এটি ব্যবহার করে অনেক বাড়ি তৈরি করতে পারেন।

এটি যেভাবে কাজ করে:

একটি constructor হলো একটি বিশেষ ফাংশন। এটি থেকে অবজেক্ট তৈরি করতে আপনি new keyword ব্যবহার করেন।

Example:

function Student(name, age, city) {
    this.name = name;
    this.age = age;
    this.city = city;
}

const student1 = new Student("John", 21, "Chennai");
const student2 = new Student("David", 22, "Madurai");

কেন এটি ব্যবহার করবেন?

  • এটি সময় বাঁচায়।
  • এটি কোড পুনরাবৃত্তি রোধ করে।
  • এটি আপনার ডেটার জন্য একটি স্ট্যান্ডার্ড কাঠামো তৈরি করে।

this-এর ভূমিকা:

একটি constructor-এর ভেতরে, this শব্দটি দিয়ে আপনি যে নতুন অবজেক্টটি তৈরি করছেন তাকে বোঝানো হয়।

যদি একজন শিক্ষক বলেন "আমার ক্লাসরুম" (my classroom), তবে "আমার" শব্দটি সেই নির্দিষ্ট শিক্ষককে নির্দেশ করে। কোডিংয়ের ক্ষেত্রে, this.name আপনার তৈরি করা নির্দিষ্ট অবজেক্টের নামকে নির্দেশ করে।

আপনি যখন new ব্যবহার করেন তখন কী ঘটে?

যখন আপনি const emp = new Employee("John", 50000) রান করেন, তখন চারটি ধাপ সম্পন্ন হয়:

  1. JavaScript একটি খালি অবজেক্ট তৈরি করে।
  2. this keyword টি সেই নতুন অবজেক্টটিকে নির্দেশ করে।
  3. অবজেক্টের মধ্যে প্রপার্টিগুলো যুক্ত করা হয়।
  4. অবজেক্টটি আপনাকে রিটার্ন করা হয়।

অ্যাকশন (Actions) যোগ করা:

অবজেক্ট শুধু ডেটা ধারণ করার চেয়েও বেশি কিছু করতে পারে। তারা বিভিন্ন কাজ বা অ্যাকশন সম্পন্ন করতে পারে। প্রোগ্রামিংয়ে এই অ্যাকশনগুলোকে method বলা হয়।

Example:

function Laptop(brand, ram) {
    this.brand = brand;
    this.ram = ram;
    this.showDetails = function() {
        console.log(this.brand, this.ram);
    };
}

Laptop অবজেক্টটি এখন ডেটা এবং সেই ডেটা দেখানোর জন্য একটি ফাংশন ধারণ করছে।

Best Practices:

  • সবসময় constructor-এর প্রথম অক্ষর বড় হাতের (capitalize) লিখুন। student না লিখে Student লিখুন। এটি অন্যান্য ডেভেলপারদের new keyword ব্যবহার করতে সংকেত দেয়।
  • সবসময় new keyword ব্যবহার করুন। যদি আপনি এটি ভুলে যান, তবে ফাংশনটি একটি সাধারণ ফাংশনের মতো কাজ করবে এবং আপনার কোডটি অকার্যকর করে দেবে।

Comparison:

Object Literals:

  • একটি মাত্র অবজেক্টের জন্য ভালো।
  • সহজ এবং দ্রুত।
  • কোনো ব্লুপ্রিন্ট নেই।

Constructor Functions:

  • অনেকগুলো অবজেক্টের জন্য ভালো।
  • পুনরায় ব্যবহারযোগ্য এবং সুসংগঠিত।
  • ব্লুপ্রিন্ট পদ্ধতি ব্যবহার করে।

Source: https://www.w3schools.com/js/js_object_constructors.asp Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor Full post: https://dev.to/annapoo/constructor-in-javascript-4nbm