Object এর Dynamic Properties এবং Methods

Array এবং Object Methods - জাভাস্ক্রিপ্ট ইএস৬ (ES6) - Web Development

311

ES6 (ECMAScript 2015) তে Object সম্পর্কিত নতুন অনেক বৈশিষ্ট্য যোগ করা হয়েছে, যার মধ্যে Dynamic Properties এবং Methods অন্যতম। এগুলি আপনাকে অবজেক্টের প্রোপার্টি এবং মেথডগুলোকে কোডের মধ্যে runtime এ ডাইনামিকভাবে তৈরি এবং আপডেট করার সুযোগ দেয়।


Dynamic Object Properties

ডাইনামিক প্রোপার্টি তৈরি করার মাধ্যমে আপনি অবজেক্টের প্রোপার্টি অ্যাক্সেস করতে এবং নতুন প্রোপার্টি অ্যাসাইন করতে পারবেন রানটাইমে, অর্থাৎ যখন কোডটি এক্সিকিউট হচ্ছে।

ডাইনামিক প্রোপার্টি সিঙ্কট্যাক্স

ES6 এ, আপনি অবজেক্ট লিটারাল ব্যবহার করে ডাইনামিক প্রোপার্টি তৈরি করতে পারেন এবং এর জন্য ব্র্যাকেট নোটেশন ব্যবহার করা হয়। উদাহরণস্বরূপ:

let propName = 'age';

const person = {
  name: 'John',
  [propName]: 30  // dynamic property using variable
};

console.log(person.age);  // 30

এখানে, propName ভ্যারিয়েবলটি 'age' মান ধারণ করে এবং এটি অবজেক্ট person এর একটি ডাইনামিক প্রোপার্টি হিসেবে ব্যবহৃত হচ্ছে।

Multiple Dynamic Properties

আপনি একাধিক ডাইনামিক প্রোপার্টি একসাথে নির্ধারণ করতে পারেন:

let prop1 = 'name';
let prop2 = 'age';

const person = {
  [prop1]: 'Alice',
  [prop2]: 25
};

console.log(person.name);  // Alice
console.log(person.age);   // 25

এখানে, দুটি ভ্যারিয়েবল prop1 এবং prop2 ডাইনামিকভাবে person অবজেক্টের প্রোপার্টি হিসেবে ব্যবহৃত হয়েছে।


Dynamic Methods in Objects

ES6 এ অবজেক্ট মেথড তৈরির পদ্ধতিতে নতুন সুবিধা এসেছে। এখন আপনি অবজেক্টের মেথডগুলোকে আরও সহজে এবং ডাইনামিকভাবে ডিফাইন করতে পারেন।

Object Method Short Syntax

ES6 এ অবজেক্ট মেথড ডিফাইন করার জন্য একটি সংক্ষিপ্ত সিনট্যাক্স এসেছে। আপনি এখন সহজেই মেথড ঘোষণা করতে পারেন, যেখানে মেথডের নাম এবং বডি একসাথে থাকে।

const person = {
  name: 'John',
  greet() {   // shorthand method syntax
    console.log(`Hello, my name is ${this.name}`);
  }
};

person.greet();  // "Hello, my name is John"

এখানে, greet() মেথডটি person অবজেক্টের মেথড হিসেবে সংক্ষেপে ডিফাইন করা হয়েছে।

Dynamic Methods Using Computed Property Names

আপনি ডাইনামিকভাবে মেথড নাম নির্ধারণ করার জন্য [key] নোটেশন ব্যবহার করতে পারেন, যেমন ডাইনামিক প্রোপার্টির ক্ষেত্রে। এটি আপনি তখন ব্যবহার করবেন যখন মেথডের নাম runtime এ নির্ধারণ করতে চান।

let methodName = 'sayGoodbye';

const person = {
  name: 'Alice',
  [methodName]() {  // Dynamic method name
    console.log(`${this.name} says goodbye!`);
  }
};

person.sayGoodbye();  // "Alice says goodbye!"

এখানে, methodName ভ্যারিয়েবলটি 'sayGoodbye' নামের মেথডটি ডাইনামিকভাবে তৈরি করছে এবং person অবজেক্টে সেই মেথডটি অ্যাক্সেস করা হয়েছে।


Using Computed Property Names for Dynamic Methods

ES6 এ computed property names এর সাহায্যে আপনি ডাইনামিকভাবে প্রোপার্টি এবং মেথড নাম উভয়ই নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, আপনি একটি অবজেক্টে ডাইনামিক মেথড তৈরি করতে পারেন, যার নাম runtime এ নির্ধারিত হবে।

let dynamicMethodName = 'logMessage';

const logger = {
  [dynamicMethodName](message) {   // Dynamic method name
    console.log(`Message: ${message}`);
  }
};

logger.logMessage('Hello, World!');  // "Message: Hello, World!"

এখানে, dynamicMethodName ভ্যারিয়েবলটি logMessage নামের মেথড তৈরি করছে। এই মেথডটি পরবর্তীতে অবজেক্ট logger এর অংশ হিসেবে ব্যবহৃত হচ্ছে।


ES6 তে Dynamic Object Properties এবং Dynamic Methods ব্যবহারের মাধ্যমে আপনি অবজেক্টের প্রোপার্টি ও মেথডগুলোকে runtime এ নির্ধারণ করতে পারেন, যা কোডকে আরও flexible এবং শক্তিশালী করে তোলে। এগুলি বিভিন্ন পরিস্থিতিতে কোডকে আরও শক্তিশালী এবং পুনঃব্যবহারযোগ্য করতে সাহায্য করে, বিশেষত যখন আপনার অবজেক্টের প্রোপার্টি বা মেথডের নাম পূর্বানুমানযোগ্য না হয়।

Content added By
Promotion

Are you sure to start over?

Loading...