\\';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"}}Тегированный литерал шаблона включает в себя литерал шаблона с префиксом функции, называемой тегом. Эта функция может обрабатывать и манипулировать содержимым литерала. Вот простой пример:
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);
Помеченные литералы шаблона могут динамически переводить строки в зависимости от языкового стандарта пользователя. Вот пример использования японского языка:
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: "こんにちは、アリス!元気ですか?"
Они также могут реализовать собственную логику форматирования, например экранирование 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. Они могут упростить такие задачи, как интернационализация и пользовательское форматирование строк, что приводит к созданию более выразительного и удобного в сопровождении кода.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3