\\';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

Опубликовано 8 ноября 2024 г.
Просматривать:538

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