JavaScript Object Constructors

JavaScript Object Constructors

JavaScript Object Constructors

আমরা প্রথমে একটি উদাহরণ দেখাবো এবং সেখান থেকে constructor চিনতে বা বুঝতে চেষ্টা করবো- 

function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
}

উপরের উদাহরণ দেখে আমরা খুব সহজেই বলে দিতে পারি এটি একটি ফাংশন এবং এই ফাংশনের কাজ হলো অবজেক্ট তৈরি করা। কিন্তু এই ফাংশনের বিশেষত্ব হলো এটি কল করার সময় আমরা এই ফাংশনের মধ্যে arguments পাস করে দিতে পারবো যেগুলো কি না ফাংশন কল হওয়ার পর যে নতুন অবজেক্ট তৈরি হবে সেই অবজেক্টের property value হিসেবে assign হবে। যেমন: 

function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
}


const myCousin = new Person("Arafat", "Pramanik", 20, "English");
const myUncle = new Person("Safiq", "Uddin", 48, "Hindi");

 

তাহলে এর মানে হচ্ছে, এটি একটি অবজেক্টের template বা কাঠামো যেটা কি-না ব্যবহারকারীর প্রয়োজন অনুযায়ী একাধিক অবজেক্ট তৈরি করতে পারে। আর এই ফাংশনকে বলা হয় Object Constructor Function এবং এই ফাংশনকে কল করতে new keyword ব্যবহার করতে হয়। যেমন: 
 

function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
}


const myCousin = new Person("Arafat", "Pramanik", 20, "English");

 

Adding a Property to an Object

অবজেক্ট তৈরি করার পর যদি নতুন করে object property যোগ করার দরকার হয় তাহলে আমরা খুব সহজেই সেটি করতে পারবো। আসুন নিচের উদাহরণের মাধ্যমে দেখে নেই-

function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
}


const studentInfo = new Person("Arafat", "Pramanik", 20, "English");

studentInfo.roll = 101221;

console.log(studentInfo);

 

Adding a Method to an Object

একই ভাবে অবজেক্টের মধ্যে মেথড ও সংযুক্ত করা যায়- 

function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
}


const studentInfo = new Person("Arafat", "Pramanik", 20, "English");

studentInfo.fullName = function () {
   return this.firstName + " " + this.lastName;
};

 

Adding a Property to a Constructor

কিন্তু অবজেক্টের মধ্যে আমরা যেভাবে property সংযুক্ত করলাম, যদি constructor -এ কোনো property সংযুক্ত করতে চাই তাহলে কিন্তু এই নিয়মে করতে পারবো না। Constructor -এ property সংযুক্ত করতে চাইলে constructor function -এ সংযুক্ত করতে হবে। 
যেমন:

 function Person(name, title, age, lang, roll) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
  this.roll = roll;
}


const studentInfo = new Person("Arafat", "Pramanik", 20, "English", 124125);

 

Adding a Method to a Constructor

একই ভাবে যদি constructor -এ কোনো methodসংযুক্ত করতে চাই তাহলে function -এর মধ্যেই ডিফাইন করে দিতে হবে।
 যেমন:

 function Person(name, title, age, lang) {
  this.firstName = name;
  this.lastName = title;
  this.age = age;
  this.language = lang;
  
this.fullName = function () {
         return this.firstName + " " + this.lastName;
    };
}

    

Built-in JavaScript Constructors

JavaScript -এ অবজেক্টের জন্য বেশ কিছু বিল্ট-ইন constructor রয়েছে।
 যেমন:


         new String()       // A new String object
         new Number()       // A new Number object
         new Boolean()      // A new Boolean object
         new Object()       // A new Object object
         new Array()        // A new Array object
         new RegExp()       // A new RegExp object
         new Function()     // A new Function object
         new Date()         // A new Date object

 

এইখানে খুবই গুরুত্বপূর্ণ একটি বিষয় হলো, Math()- অবজেক্ট এই তালিকার মধ্যে পরবে না। Math -হচ্ছে global objectnew keyword এই Math -এর সাথে ব্যবহার হয় না।