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