Object Literal Enhancement ES6 (ECMAScript 2015) এ একটি নতুন বৈশিষ্ট্য, যা অবজেক্ট তৈরি করার সময় কোডের সাদৃশ্য বাড়ায় এবং আরও সহজ করে তোলে। এর মাধ্যমে অবজেক্ট ডিফাইনেশনে নতুন কিছু সুবিধা যুক্ত হয়েছে, যেমন শর্টকাট সাইনট্যাক্স এবং ডাইনামিক প্রপার্টি কিওয়ার্ড।
Object Literal Enhancement এর বৈশিষ্ট্য
শর্টকাট প্রপার্টি সিনট্যাক্স: যখন অবজেক্টের প্রপার্টি এবং ভ্যারিয়েবলের নাম একই হয়, তখন আপনি প্রপার্টি ডিফাইন করার সময় শুধুমাত্র ভ্যারিয়েবলের নাম লিখে এটি সরাসরি প্রপার্টি হিসেবে ব্যবহার করতে পারেন।
উদাহরণ:
const name = "John"; const age = 30; const person = { name, age }; console.log(person); // { name: "John", age: 30 }এখানে,
nameএবংageভ্যারিয়েবলগুলোর নামের সাথে অভ্যন্তরীণ প্রপার্টির নাম এক হয়ে গেছে। পূর্বের সিনট্যাক্সে, আপনাকে একে একেname: nameএবংage: ageলিখতে হত, কিন্তু ES6 এ এটি শর্টকাট করেname, ageদেওয়া সম্ভব হয়েছে।
ডাইনামিক প্রপার্টি কিওয়ার্ড: ES6 এ আপনি অবজেক্টের প্রপার্টি কিওয়ার্ডকে ডাইনামিকভাবে নির্ধারণ করতে পারেন। অর্থাৎ, কিওয়ার্ডটি একটি এক্সপ্রেশন হতে পারে যা রানটাইমে মূল্যায়ন হয়।
উদাহরণ:
const dynamicKey = "age"; const person = { name: "John", [dynamicKey]: 30 // ডাইনামিক কিওয়ার্ড ব্যবহার করা হচ্ছে }; console.log(person); // { name: "John", age: 30 }এখানে,
[dynamicKey]ব্যবহার করে,ageপ্রপার্টি ডাইনামিকভাবে নির্ধারণ করা হয়েছে, যা আগে স্ট্যাটিকভাবেage: 30থাকত। আপনি যেকোনো এক্সপ্রেশনকে কিওয়ার্ড হিসেবে ব্যবহার করতে পারেন, যেমন:const key = "location"; const person = { name: "Alice", [key]: "New York" }; console.log(person); // { name: "Alice", location: "New York" }
Method Shorthand: ES6 এ, আপনি অবজেক্টের মেথডগুলো ডিফাইন করার সময় ফাংশনের জন্য
functionকিওয়ার্ড ছাড়াও শর্টকাট সিনট্যাক্স ব্যবহার করতে পারেন। এটি কোডকে আরও সংক্ষিপ্ত এবং পরিষ্কার করে।উদাহরণ:
const person = { name: "John", greet() { // শর্টকাট সিনট্যাক্স console.log("Hello, " + this.name); } }; person.greet(); // "Hello, John"এখানে,
greet()মেথডটিfunction greet()এর বিকল্প, যেখানে আপনি ফাংশন ডিক্লেয়ার করার সময়functionকিওয়ার্ডটি বাদ দিতে পারেন।
Object Literal Enhancement এর সুবিধা
- কোডের সাদৃশ্য বৃদ্ধি: Object Literal Enhancement কোডকে সংক্ষিপ্ত ও আরও পাঠযোগ্য করে তোলে, বিশেষত যখন আপনি একটি অবজেক্টের প্রপার্টি এবং ভ্যারিয়েবলের নাম একই রাখতে চান। এটি কোডের রিডেবিলিটি বাড়ায় এবং ভুল হওয়ার সম্ভাবনা কমিয়ে দেয়।
- ডাইনামিক প্রপার্টি তৈরি করা সহজ: ডাইনামিক প্রপার্টি কিওয়ার্ডের মাধ্যমে রানটাইমে প্রপার্টি নাম তৈরি করা সম্ভব, যা পুরোনো সিনট্যাক্সে করা যেত না। এর ফলে কোড আরও নমনীয় এবং শক্তিশালী হয়।
- শর্টকাট মেথড ডিফাইনেশন: মেথড শর্টকাটের মাধ্যমে কোড লেখা সহজ এবং বেশি কোড লেখার প্রয়োজন কমে যায়। এটি কোডের স্টাইলকে আরও আধুনিক এবং পরিস্কার করে তোলে।
উপসংহার
Object Literal Enhancement ES6 এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা অবজেক্ট তৈরি করার প্রক্রিয়াকে আরও সহজ, সংক্ষিপ্ত, এবং নমনীয় করে তোলে। এটি কোডের পাঠযোগ্যতা ও রিডেবিলিটি বাড়ায় এবং ডাইনামিক প্রপার্টি কিওয়ার্ড এবং শর্টকাট মেথড সাইনট্যাক্সের মাধ্যমে কোডের কার্যক্ষমতা উন্নত করে।
Read more