\\';const sanitized = escapeHTML`User input: ${userInput}`;console.log(sanitized); // Output: \\\"User input: \\\"

خاتمة

توفر القيم الحرفية للنماذج ذات العلامات أداة متعددة الاستخدامات لمعالجة السلسلة الديناميكية في JavaScript. يمكنهم تبسيط المهام مثل التدويل وتنسيق السلسلة المخصص، مما يؤدي إلى تعليمات برمجية أكثر تعبيرًا وقابلية للصيانة.

","image":"http://www.luping.net/uploads/20241007/17283092466703e7fece88e.jpg","datePublished":"2024-11-08T07:21:58+08:00","dateModified":"2024-11-08T07:21:58+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > فهم القيم الحرفية للنماذج ذات العلامات في JavaScript

فهم القيم الحرفية للنماذج ذات العلامات في JavaScript

تم النشر بتاريخ 2024-11-08
تصفح:815

Understanding Tagged Template Literals in JavaScript

ما هي الحروف النموذجية ذات العلامات؟

يتضمن القالب الحرفي ذو العلامات قالبًا حرفيًا مسبوقًا بوظيفة تسمى علامة. يمكن لهذه الوظيفة معالجة المحتوى الحرفي ومعالجته. إليك مثال بسيط:

function tag(strings, ...values) {
    console.log(strings);
    console.log(values);
    return 'Processed string';
}

const name = 'Alice';
const greeting = tag`Hello, ${name}! How are you?`;
console.log(greeting);

حالات الاستخدام للقوالب ذات العلامات الحرفية

  1. التدويل (i18n)

يمكن للقيم الحرفية للقالب ذات العلامات ترجمة السلاسل ديناميكيًا بناءً على لغة المستخدم. إليك مثال باستخدام اللغة اليابانية:

function i18n(strings, ...values) {
    const translations = {
        'Hello, ': 'こんにちは、',
        '! How are you?': '!元気ですか?',
    };

    return strings.reduce((result, str, i) => result   translations[str]   (values[i] || ''), '');
}

const name = 'アリス';
const greeting = i18n`Hello, ${name}! How are you?`;
console.log(greeting); // Output: "こんにちは、アリス!元気ですか?"

2. تنسيق السلسلة المخصصة

يمكنهم أيضًا تنفيذ منطق التنسيق المخصص، مثل الهروب من HTML.

function escapeHTML(strings, ...values) {
    const escape = (str) => str.replace(/&/g, '&').replace(/, '<').replace(/>/g, '>');
    return strings.reduce((result, str, i) => result   str   escape(values[i] || ''), '');
}

const userInput = '';
const sanitized = escapeHTML`User input: ${userInput}`;
console.log(sanitized); // Output: "User input: <script>alert("XSS")</script>"

خاتمة

توفر القيم الحرفية للنماذج ذات العلامات أداة متعددة الاستخدامات لمعالجة السلسلة الديناميكية في JavaScript. يمكنهم تبسيط المهام مثل التدويل وتنسيق السلسلة المخصص، مما يؤدي إلى تعليمات برمجية أكثر تعبيرًا وقابلية للصيانة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/elukuro/understanding-tagged-template-literals-in-javascript-4m4p?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3