Template Strings

1️⃣ تعریف Template Strings

  • با **backticks ()** تعریف می‌شوند نه 'یا"`

let name = "Ali"; let age = 25; let greeting = `سلام، اسم من ${name} است و من ${age} ساله هستم.`; console.log(greeting);

📌 خروجی:

سلام، اسم من Ali است و من 25 ساله هستم.
  • ${} برای وارد کردن متغیر یا عبارت استفاده می‌شود

2️⃣ چند خطی بودن (Multiline Strings)

let text = `این یک رشته چند خطی در جاوااسکریپت است`; console.log(text);

📌 خروجی:

این یک رشته چند خطی در جاوااسکریپت است
  • بدون نیاز به \n

3️⃣ عبارات داخل Template Strings

let a = 5; let b = 10; console.log(`جمع ${a} + ${b} = ${a + b}`);

📌 خروجی:

جمع 5 + 10 = 15
  • هر نوع عبارت محاسباتی یا تابعی داخل ${} قابل استفاده است

4️⃣ استفاده با توابع (Tagged Templates)

function highlight(strings, ...values) { return strings.reduce((result, str, i) => `${result}${str}<b>${values[i] || ''}</b>`, ''); } let name = "Ali"; let age = 25; console.log(highlight`اسم من ${name} و سن من ${age} است.`);

📌 خروجی:

اسم من <b>Ali</b> و سن من <b>25</b> است.
  • Tagged Templates برای پردازش پیشرفته رشته‌ها کاربرد دارد

5️⃣ مزایای Template Strings

  • خواناتر و ساده‌تر از روش‌های سنتی (+)

  • پشتیبانی از چند خطی بودن

  • امکان قرار دادن عبارات و محاسبات

  • قابل استفاده در HTML، Console و JSX

✅ نکات مهم

  • همیشه با backticks (`) باز و بسته می‌شوند

  • ${} تنها برای وارد کردن متغیر یا عبارت استفاده می‌شود

  • برای رشته‌های چند خطی یا ترکیبی با متغیر Template Literals بهترین انتخاب است