JavaScript একটি object-based language এবং JavaScript-এ object খুব গুরুত্বপূর্ণ একটি বিষয়। Object ব্যবহার করে সম্পর্কিত data এবং functionality একসাথে রাখা যায়। এই টিউটোরিয়ালে JavaScript object তৈরি, property ব্যবহার, method, prototype, inheritance এবং object-এর আধুনিক কিছু ব্যবহার সম্পর্কে আলোচনা করা হবে।
JavaScript-এ object হলো key-value pair-এর একটি collection। Object-এর key সাধারণত string বা symbol হতে পারে এবং value যেকোনো data type-এর হতে পারে। এমনকি একটি object-এর value হিসেবে অন্য object-ও রাখা যায়।
const person = { firstName: 'John', lastName: 'Doe', age: 30 };
উপরের উদাহরণে person একটি object এবং এর মধ্যে firstName, lastName ও age নামে তিনটি property রয়েছে।
Object তৈরির সবচেয়ে প্রচলিত পদ্ধতি হলো object literal ব্যবহার করা। এছাড়াও constructor function এবং ES6 class ব্যবহার করেও object তৈরি করা যায়।
Constructor Function:
function Person(firstName, lastName, age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } const john = new Person('John', 'Doe', 30);
ES6 Class: ES6-এ class ব্যবহার করে constructor function-এর মতো object তৈরি করা যায়।
class Person { constructor(firstName, lastName, age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } } const john = new Person('John', 'Doe', 30);
Object-এর property access এবং modify করার জন্য dot notation ব্যবহার করা যায়।
console.log(person.firstName); // Output: John person.age = 31; console.log(person.age); // Output: 31
Property name dynamic হলে বা সাধারণ identifier হিসেবে ব্যবহার করা না গেলে bracket notation ব্যবহার করা যায়।
console.log(person['lastName']); // Output: Doe person['age'] = 32; console.log(person['age']); // Output: 32
Object-এর মধ্যে function রাখা হলে সেটিকে method বলা হয়। Method object-এর data ব্যবহার করে কাজ করতে পারে।
const person = { firstName: 'John', lastName: 'Doe', age: 30, fullName: function() { return `${this.firstName} ${this.lastName}`; } }; console.log(person.fullName()); // Output: John Doe
এখানে fullName() হলো person object-এর একটি method এবং this ব্যবহার করে একই object-এর property access করা হয়েছে।
JavaScript inheritance-এর জন্য prototype ব্যবহার করে। Object তার prototype থেকে property ও method পেতে পারে। Prototype-এ method যোগ করলে একই ধরনের একাধিক instance সেটি ব্যবহার করতে পারে।
Person.prototype.greet = function() { return `Hello, my name is ${this.firstName} ${this.lastName}.`; }; const john = new Person('John', 'Doe', 30); console.log(john.greet());
Inheritance: Prototype বা class-এর মাধ্যমে object-এর মধ্যে hierarchy তৈরি করা যায়।
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a noise.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog('Rex'); dog.speak(); // Output: Rex barks.
Object destructuring ব্যবহার করে object-এর property-এর value সরাসরি আলাদা variable-এর মধ্যে নেওয়া যায়।
const person = { firstName: 'John', lastName: 'Doe', age: 30 }; const { firstName, age } = person; console.log(firstName); // Output: John console.log(age); // Output: 30
Spread operator (...) ব্যবহার করে object-এর shallow copy তৈরি করা অথবা একাধিক object merge করা যায়।
const person = { firstName: 'John', lastName: 'Doe' }; const address = { city: 'New York', zip: '10001' }; const personWithAddress = { ...person, ...address }; console.log(personWithAddress);
এভাবে একাধিক object-এর property একত্র করে নতুন object তৈরি করা যায়।
JavaScript-এর এই object methods-গুলো object-এর key, value এবং key-value pair নিয়ে কাজ করতে সাহায্য করে।
const person = { firstName: 'John', lastName: 'Doe', age: 30 }; console.log(Object.keys(person)); console.log(Object.values(person)); console.log(Object.entries(person));
JavaScript object ব্যবহার করে data এবং functionality সুন্দরভাবে সংগঠিত করা যায়। Object তৈরি থেকে শুরু করে property ও method ব্যবহার, prototype ও inheritance, destructuring এবং spread operator পর্যন্ত বিভিন্ন বিষয় JavaScript programming-এ object ব্যবহারের গুরুত্বপূর্ণ অংশ।
নোট - Object-এর বিভিন্ন পদ্ধতি নিয়মিত অনুশীলন করলে JavaScript-এর object-based programming ধারণা আরও পরিষ্কার হবে।