Template Literals (বা Template Strings) ES6 এর একটি নতুন ফিচার যা স্ট্রিং ব্যবহারের পদ্ধতিতে বড় পরিবর্তন আনে। এটি সাধারণ স্ট্রিং কনক্যাটেনেশনের (concatenation) চেয়ে আরও সহজ, পরিষ্কার এবং শক্তিশালী পদ্ধতি প্রদান করে। Template Literals বিশেষভাবে কাজের সময় ডাইনামিক ভ্যালু ইনসার্ট (dynamic value insertion), মাল্টি-লাইন স্ট্রিং, এক্সপ্রেশন ইভ্যালুয়েশন, ইত্যাদি ক্ষেত্রে সুবিধা প্রদান করে।
Template Literals এর সিনট্যাক্স
Template Literals সাধারণ স্ট্রিং কোটেশন (" " বা ' ') এর পরিবর্তে ব্যাকটিক (`) চিহ্ন ব্যবহার করে ডিফাইন করা হয়। এর মাধ্যমে সহজেই ডাইনামিক ভ্যালু বা এক্সপ্রেশনকে স্ট্রিং এর মধ্যে অন্তর্ভুক্ত করা যায়।
উদাহরণ:
const name = "John";
const message = `Hello, ${name}!`;
console.log(message); // "Hello, John!"
এখানে name ভ্যারিয়েবলটি ${} এর মধ্যে দিয়ে স্ট্রিং এর মধ্যে ঢুকিয়ে দেওয়া হয়েছে। এটি string interpolation (স্ট্রিং ইন্টারপোলেশন) নামে পরিচিত, যেখানে এক্সপ্রেশন বা ভ্যালু সরাসরি স্ট্রিংয়ের মধ্যে ব্যবহার করা যায়।
Template Literals এর সুবিধাসমূহ
স্ট্রিং ইন্টারপোলেশন (String Interpolation): Template Literals এর সবচেয়ে বড় সুবিধা হলো string interpolation, অর্থাৎ স্ট্রিংয়ের মধ্যে সরাসরি ভ্যারিয়েবল বা এক্সপ্রেশন যোগ করা যায়, যা সাধারন স্ট্রিং কনক্যাটেনেশন থেকে অনেক বেশি সহজ এবং পড়তে সুবিধাজনক।
উদাহরণ:
const firstName = "John"; const lastName = "Doe"; const greeting = `Hello, my name is ${firstName} ${lastName}.`; console.log(greeting); // "Hello, my name is John Doe."মাল্টি-লাইন স্ট্রিং (Multi-line Strings): Template Literals মাল্টি-লাইন স্ট্রিং লেখা সহজ করে তোলে, যেটি সাধারণ স্ট্রিং কনক্যাটেনেশনে অনেক জটিল হয়ে পড়ে। এতে আপনি কোনও বিশেষ ক্যারেক্টার ব্যবহার ছাড়াই একাধিক লাইনে স্ট্রিং লিখতে পারবেন।
উদাহরণ:
const message = ` Hello, John! Welcome to our website. We hope you enjoy your stay. `; console.log(message);আউটপুট:
Hello, John! Welcome to our website. We hope you enjoy your stay.এক্সপ্রেশন ইভ্যালুয়েশন (Expression Evaluation): Template Literals এ আপনি শুধুমাত্র ভ্যারিয়েবল নয়, বরং যেকোনো এক্সপ্রেশন ব্যবহার করতে পারেন। আপনি যেকোনো ফাংশন কল বা গণনা, সমস্ত কিছু
${}এর মধ্যে দিয়ে সরাসরি স্ট্রিংয়ের মধ্যে রাখতে পারবেন।উদাহরণ:
const a = 5; const b = 10; const result = `The sum of ${a} and ${b} is ${a + b}.`; console.log(result); // "The sum of 5 and 10 is 15."ট্যাগড টেমপ্লেট লিটারেল (Tagged Template Literals): Template Literals এর একটি শক্তিশালী বৈশিষ্ট্য হলো tagged templates। এতে আপনি একটি ফাংশন কল করে স্ট্রিংকে প্রসেস করতে পারেন, যা আপনার স্ট্রিংকে কাস্টমাইজ করতে সাহায্য করে। এটি সাধারণত স্ট্রিং প্রসেসিং বা সিকিউরিটি (যেমন SQL injection থেকে রক্ষা) এর জন্য ব্যবহৃত হয়।
উদাহরণ:
function tag(strings, ...expressions) { console.log(strings); // ['Hello ', ' world!'] console.log(expressions); // ['John'] return strings[0] + expressions[0].toUpperCase() + strings[1]; } const name = "John"; const message = tag`Hello ${name} world!`; console.log(message); // "Hello JOHN world!"
Template Literals এর সুবিধাগুলি সংক্ষেপে
- স্ট্রিং ইন্টারপোলেশন: ভ্যারিয়েবল বা এক্সপ্রেশন স্ট্রিংয়ের মধ্যে সহজেই ব্যবহার করা যায়।
- মাল্টি-লাইন স্ট্রিং: একাধিক লাইনে স্ট্রিং লেখা সম্ভব, কোনও অতিরিক্ত ক্যারেক্টার ছাড়াই।
- এক্সপ্রেশন ইভ্যালুয়েশন: সরাসরি এক্সপ্রেশন বা ফাংশন কল স্ট্রিংয়ের মধ্যে ব্যবহার করা যায়।
- ট্যাগড টেমপ্লেট: ফাংশনের মাধ্যমে কাস্টমাইজড স্ট্রিং প্রসেসিং করা যায়।
সংক্ষেপে, Template Literals কেন ব্যবহার করবেন?
Template Literals ES6 এর একটি শক্তিশালী ফিচার যা স্ট্রিং নিয়ে কাজ করার পদ্ধতিকে অনেক বেশি কার্যকরী এবং সহজ করে তোলে। এতে কোড কমপ্যাক্ট, পরিষ্কার এবং আরও পড়তে সুবিধাজনক হয়ে ওঠে, বিশেষ করে যখন ডাইনামিক ডেটা স্ট্রিংয়ের মধ্যে ইনসার্ট করতে হয়।
Read more