في JavaScript، تتيح لك سلاسل القوالب تضمين تعبيرات داخل السلاسل النصية، ويُعرف ذلك أيضًا باسم إقحام السلاسل النصية.
وهذه الإمكانية توسّع وظائف الكائن العام المدمج String.
يمكنك إنشاء سلاسل القوالب في JavaScript بتطويق النص بعلامات الاقتباس الخلفية. فهي لا تتيح للنص أن يتضمن أسطرًا جديدة ورموزًا خاصة أخرى فحسب، بل يمكنك أيضًا تضمين متغيرات وتعبيرات أخرى.
const num1 = 1;
const num2 = 2;
`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.
في المثال أعلاه، تُستخدم علامات الاقتباس الخلفية - (``) - لتمثيل سلسلة قوالب. أما ${...} فهو العنصر النائب المستخدم للاستبدال.
وأي أنواع غير السلاسل النصية تُحوَّل ضمنيًا إلى سلاسل نصية.
وتُغطّى هذه المسألة في مفهوم تحويل الأنواع.
ويمكن استخدام جميع أنواع التعبيرات مع سلاسل القوالب.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
وعندما تحتاج إلى تنسيق السلاسل النصية على عدة أسطر:
`This is an example of using template
strings to accomplish multiple
lines`;
ومع إمكانات الاستبدال المتاحة، يمكنك أيضًا إدخال منطق في العملية لتحديد ما ينبغي أن تكون عليه السلسلة النصية الناتجة.
ومن الأساليب المتاحة للتعامل مع المنطق استخدام العامل الثلاثي.
فهو يمنحك الوظيفة الشرطية if/else نفسها بصيغة مختلفة قليلًا.
ولتطبيق منطق داخل بنية سلاسل القوالب:
const grade = 95;
`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.