لقد استخدمت مؤخرًا سلاسل قالب ES6 في مشروعي، والتي تم تلخيصها هنا.
1. في السابق، كان بإمكاننا أيضًا استخدام JavaScript لإخراج سلاسل القالب، عادةً على النحو التالي:
$("#result").append( "هو <b>"+person.name+"</b>"+"ونريد أن نعرف هو"+person.age+".هذا كل شيء" );
ولكن يمكننا أن نرى أن هذا النهج التقليدي يتطلب استخدام الكثير من "" (علامات الاقتباس المزدوجة) و+ لربطها معًا للحصول على القالب الذي نحتاجه. ولكن هذا غير مريح للغاية.
لذلك يوفر ES6 سلاسل قالبية، والتي تم تمييزها بـ ` (backtick) والمتغيرات محاطة بـ ${}. يمكن كتابة المثال أعلاه على النحو التالي باستخدام سلاسل القالب:
$("#result").append( `إنه <b>${person.name</b>ونريد أن نعرف ${person.age}. هذا كل شيء` );
هذا الأسلوب أبسط بكثير، ولم نعد بحاجة إلى استخدام الكثير من "" و+ لربط السلاسل والمتغيرات.
2. بالطبع، يمكن إدخال المتغيرات في سلسلة القالب، ومن الممكن أيضًا عدم استخدام المتغيرات. كما هو موضح أدناه:
` أنا رجل.
` بغض النظر عما تفعله،
أنا أثق بك. `
3. يمكننا أيضًا تحديد المتغيرات أولاً ثم تضمين المتغيرات في سلسلة القالب:
var name="zzw"; ` ${name}، بغض النظر عما تفعله، أنا أثق بك.`
4. من الواضح، نظرًا لأن علامة backtick هي معرف سلسلة القالب، إذا أردنا استخدام علامة backtick في السلسلة، فسنحتاج إلى الهروب منها، كما يلي:
`بغض النظر عما تفعله،
أنا أثق بك.`
5. ملاحظة: إذا كنت تستخدم سلاسل القالب لتمثيل سلاسل متعددة الأسطر، فسيتم حفظ جميع المسافات والمسافات البادئة في الإخراج! !
console.log( `بغض النظر عما تفعله، أنا أثق بك.`);
الإخراج كما يلي:
6. يمكنك وضع أي تعبير JavaScript بين قوسين متعرجين في ${}، وتنفيذ العمليات، والإشارة إلى خصائص الكائن.
فار س=88; فار ص=100;
console.log
(`x=${++x},y=${x+y}`);
7. أكثر قوة: يمكن لسلسلة القالب أيضًا استدعاء الوظائف:
function string(){ إرجاع "zzw يحب es6!"؛ } console.log(`ماذا تريد أن تقول؟ حسنًا، ${string()}`)
;
بالإضافة إلى ذلك، إذا لم تكن نتيجة الدالة سلسلة، فسيتم تحويلها إلى سلسلة وفقًا للقواعد العامة:
function string(){ العودة 666؛ } console.log(`ماذا تريد أن تقول؟ حسنًا، ${string()}`)
;
هنا، يتم تحويل الرقم 666 فعليًا إلى السلسلة 666.
8. إذا لم يتم تسمية المتغير في ${}، فسيتم الإبلاغ عن خطأ:
console.log(`ماذا تريد أن تقول؟ حسنًا، ${string( )}`);
في الكود أعلاه، لم يتم التصريح عن الدالة string()، لذلك تم الإبلاغ عن خطأ:
9. في الواقع، يمكننا أيضًا إدخال سلسلة في ${}، وستظل نتيجة المعرفة تُرجع سلسلة:
console.log(`ماذا تريد أن تقول؟ حسنًا، ${"في الواقع، أنا لست متغيرًا ~"}`) ؛
والنتيجة هي كما يلي:
10. إذا كنت تريد الإشارة إلى سلسلة القالب نفسها، فيمكنك كتابتها على النحو التالي:
Let str="return"+"`Hello! ${name}`"; Let func=new Function("name",str); console.log(func("zzw"));
النتائج هي كما يلي: