
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 object। new keyword এই Math -এর সাথে ব্যবহার হয় না।