در حال بارگذاری...

قالب‌های متنی

قالب متنی رشته‌ای است که با backtick ساخته می‌شود. با ${...} می‌توانی مقدار JavaScript را درون آن قرار بدهی. مثال‌های این درس با سفارش guest و drink کار می‌کنند.

درون‌گذاری مقدار

هر عبارتی که داخل ${...} باشد هنگام اجرای برنامه ارزیابی می‌شود و نتیجه‌اش داخل متن قرار می‌گیرد.

ساخت برچسب سفارش

javascript
const order = { guest: "lida", drink: "tea", extras: ["mint", "lemon"] };
const label = `${order.guest} ordered ${order.drink}`;
console.log(label);

خروجی lida ordered tea است. متن بیرون از ${...} ثابت می‌ماند.

ارزیابی عبارت‌ها

داخل ${...} می‌توانی property یا یک عبارت کامل بنویسی؛ مثلاً تعداد اعضای آرایه یا نتیجهٔ یک متد.

استفاده از property و متد

javascript
const order = { guest: "lida", drink: "tea", extras: ["mint", "lemon"] };
const summary = `${order.extras.length} extras: ${order.extras.join(", ")}`;
console.log(summary);

این کد 2 extras: mint, lemon را چاپ می‌کند. extras: متن معمولی است و دو بخش داخل ${...} از روی داده ساخته می‌شوند.

حفظ شکست خط

اگر بین backtickها خط جدید بنویسی، همان خط جدید بخشی از رشتهٔ نهایی می‌شود.

ساخت متن دوخطی

javascript
const order = { guest: "lida", drink: "tea", extras: ["mint", "lemon"] };
const note = `Guest: ${order.guest}
Drink: ${order.drink}`;
console.log(note);

note دو خط دارد: Guest: lida و Drink: tea.

tag چه می‌کند؟

tag تابعی است که متن‌های ثابت و مقدارهای ارزیابی‌شده را جداگانه دریافت می‌کند.

یک tag ساده

javascript
function upper(strings, ...values) {
return strings.reduce((out, text, i) => out + text + (values[i] ?? "").toUpperCase(), "");
}
const order = { guest: "lida", drink: "tea", extras: ["mint", "lemon"] };
const tagged = upper`Guest: ${order.guest}.`;
console.log(tagged);

خروجی Guest: LIDA. است. تابع upper مقدار مهمان را بزرگ می‌کند و متن ثابت را هم نگه می‌دارد.

نمایش در صفحه

در این دمو نام مهمان، نوشیدنی و تعداد مخلفات در یک رشته قرار می‌گیرند.

نمایش خلاصهٔ سفارش

html
<p id="result"></p>
<script>
const order = { guest: "lida", drink: "tea", extras: ["mint", "lemon"] };
document.getElementById("result").textContent =
`${order.guest} ordered ${order.drink} / ${order.extras.length} extras`;
</script>

خروجی دقیقاً lida ordered tea / 2 extras است.

برای نوشتن backtick در متن از \`` استفاده کن. اگر${باید متن معمولی بماند، آن را به شکل\${order.guest}` بنویس.

جدول زیر نقش بخش‌های مختلف قالب متنی را جدا می‌کند: متن ثابت کپی می‌شود، عبارت ارزیابی می‌شود و شکست خط حفظ می‌شود.

📊 اجزای قالب متنی

بخش نقش نمونه
backtick آغاز و پایان قالب ` text `
متن ثابت بدون تغییر وارد نتیجه می‌شود ordered
${expression} در زمان اجرا محاسبه می‌شود ${order.guest}
شکست خط در رشتهٔ نهایی باقی می‌ماند خط جدید بین دو متن

تمرین

drink را به coffee تغییر بده و با ${order.extras.join(", ")} یک توضیح تازه بساز. بعد یک متن دوخطی بنویس.

اشتباه‌های رایج

برای درون‌گذاری از کوتیشن معمولی استفاده نکن. جفت ${ و } را کامل نگه دار و متن بیرون از آن‌ها را با کد اشتباه نگیر.

جمع‌بندی

backtick مرز قالب متنی است؛ ${...} مقدار را هنگام اجرا وارد می‌کند؛ شکست خطی که داخل قالب نوشته شود در نتیجه حفظ می‌شود.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
6
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود