قوالب JavaScript Template Literals
-
بنحكي في هذا الدرس عن Template literals والي هي عبارة عن طريقة لتعريف string باستخدام back-ticks (``) بدل من quotes ("")، هذه الامر يسمح لنا بإضافة سلاسل بأسطر متعددة multi-line strings، يطلق على هذا النوع اسم قالب Template لأنه يستخدم بشكل شائع عند التعامل مع النصوص وعمل Interpolation للنصوص.
تمام نحكي بالتفصيل
أولا نحكي عن طريقة Back-Tics Syntax
مثال :
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let text = `Layan lareen mlak`;
document.write( text);
document.write("<br>");
</script>
</body>
</html>
النتيجة:
عرفنا string داخل العلامات ‘ ’ وطبعنا النتيجة
ملاحظة: هذا Template literals غير مدعوم في Internet Explorer
إضافة Quotes داخل string
من فوائد استخدام Template literals هي إمكانية إضافة single and double quotes داخل النص.
مثال :
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let text = `Layan 'lareen "mlak`;
document.write( text);
document.write("<br>");
</script>
</body>
</html>
النتيجة:
اكيد دون استخدام Template literals لا يمكن إضافة single or double quotes داخل النص.
يعني لو حاولت تكتب المثال السابق بالشكل التالي :
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let text = "Layan 'lareen "mlak";
document.write( text);
document.write("<br>");
</script>
</body>
</html>
النتيجة خطأ اكيد

إضافة Multi-line Strings (اسطر متعدده في النصوص)
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let text = `Layan
lareen
mlak`;
document.write( text);
document.write("<br>");
</script>
</body>
</html>

<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let text = "Layan
lareen
mlak";
document.write( text);
document.write("<br>");
</script>
</body>
</html>


ما هو Interpolation
${...}
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let FirstName="Layan";
let SecondName="Lareen";
document.write( `Welcome ${FirstName}, ${SecondName}!`);
document.write("<br>");
</script>
</body>
</html>

<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript String search Methods</h3>
<p id="Date"></p>
<script>
let price = 10;
let VAT = 0.15;
let TotalWithVat = `Total: ${(price * (1 + VAT)).toFixed(2)}`;
document.write( TotalWithVat);
document.write("<br>");
</script>
</body>
</html>

${(price * (1 + VAT))
toFixed(2)
ما هي HTML Templates
<!DOCTYPE html>
<html>
<body onunload="">
<h3>JavaScript Templates Literals</h3>
<p id="Date"></p>
<script>
let header = "Templates Literals";
let tags = ["template literals", "javascript", "es6"];
let html = `<h2>${header}</h2><ul>`;
for (const x of tags) {
html += `<li>${x}</li>`;
}
html += `</ul>`;
document.write( html);
document.write("<br>");
</script>
</body>
</html>

اترك تعليقك