了解 JavaScript 中的标记模板文字

什么是标记模板文字?带标签的模板文字涉及以函数为前缀的模板文字,称为标签。该函数可以处理和操作文字的内容。这是一个简单的例子:function tag(strings, …values) {console.log(strings);co

了解 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(/, '/g, '>');
    return strings.reduce((result, str, i) => result + str + escape(values[i] || ''), '');
}

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

登录后复制

结论

标记模板文字为 javascript 中的动态字符串操作提供了多功能工具。它们可以简化国际化和自定义字符串格式等任务,从而产生更具表现力和可维护的代码。

以上就是了解 JavaScript 中的标记模板文字的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:叮当号,转转请注明出处:https://www.dingdanghao.com/article/690715.html

(0)
上一篇 2024-08-07 11:01
下一篇 2024-08-07 11:01

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号