কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ভেরিয়েবল মান থেকে অবজেক্ট প্রপার্টি কীভাবে তৈরি করবেন?

ব্র্যাকেট নোটেশন এবং কম্পিউটেড প্রপার্টি নাম ব্যবহার করে ডাইনামিক প্রপার্টি

জাভাস্ক্রিপ্টে অবজেক্ট প্রপার্টি তৈরি করার দুটি উপায় রয়েছে: ডট নোটেশন (obj.prop) এবং ব্র্যাকেট নোটেশন (obj['prop'])। ভেরিয়েবল থেকে প্রপার্টি নাম নেওয়ার জন্য ব্র্যাকেট নোটেশন বাধ্যতামূলক।

পদ্ধতি ১: ব্র্যাকেট নোটেশন (ES5+)

const obj = {a: 'foo'};
const prop = 'bar';

// ভেরিয়েবল 'prop' এর মান 'bar' ব্যবহার করে প্রপার্টি তৈরি
obj[prop] = 'baz';

console.log(obj); // { a: 'foo', bar: 'baz' }

পদ্ধতি ২: কম্পিউটেড প্রপার্টি নাম (ES6+)

ES6-এ অবজেক্ট লিটারেলের ভিতরেই ব্র্যাকেট ব্যবহার করে ডাইনামিক কী তৈরি করা যায়। এটি আরও ক্লিন এবং পঠনযোগ্য।

const prop = 'bar';
const obj = {
  a: 'foo',
  [prop]: 'baz'  // ভেরিয়েবল prop-এর মান 'bar' কী হিসেবে ব্যবহৃত হবে
};

console.log(obj); // { a: 'foo', bar: 'baz' }

ব্যবহারিক উদাহরণ: ফর্ম ডেটা থেকে অবজেক্ট বানানো

const formData = new FormData(formElement);
const data = {};

for (const [key, value] of formData.entries()) {
  data[key] = value; // ব্র্যাকেট নোটেশন ব্যবহার
}
// বা এক লাইনে:
const data = Object.fromEntries(formData);

সামान्य ভুল এড়ানোর টিপস

  • ডট নোটেশন কাজ করবে না: obj.prop = 'baz' এখানে 'prop' স্ট্রিং হিসেবে নেওয়া হবে, ভেরিয়েবল হিসেবে নয়।
  • রিজার্ভড ওয়ার্ড: প্রপার্টি নাম রিজার্ভড ওয়ার্ড (যেমন class, function) হলে ব্র্যাকেট নোটেশন বাধ্যতামূলক।
  • স্পেশাল ক্যারেক্টার: স্পেস বা হাইফেন থাকলে ব্র্যাকেট নোটেশন ব্যবহার করুন: obj['my-prop'] = 1।

সারসংক্ষেপ

obj[variable] = value{ [variable]: value }
পদ্ধতিসিনট্যাক্সব্যবহার
ব্র্যাকেট নোটেশনরানটাইমে ডাইনামিক কী
কম্পিউটেড প্রপার্টিঅবজেক্ট লিটারেলে ডাইনামিক কী (ES6)

আধুনিক কোডে কম্পিউটেড প্রপার্টি নাম (ES6) পদ্ধতিই পছন্দনীয়।

  1. জাভাস্ক্রিপ্ট অবজেক্ট থেকে প্রপার্টি মুছে ফেলা

  2. জাভাস্ক্রিপ্টে ডেট অবজেক্ট তৈরির পদ্ধতি

  3. জাভাস্ক্রিপ্ট দিয়ে URL অবজেক্ট তৈরি করা

  4. জাভাস্ক্রিপ্টে মাল্টিডাইমেনশনাল অবজেক্ট তৈরি করা