gpt4 book ai didi

javascript - 在标记函数中加入字符串

转载 作者:行者123 更新时间:2023-11-29 19:10:09 25 4
gpt4 key购买 nike

ES6 引入了字符串插值。但是这个字符串不仅是插值 - 它们也是 can be used with tag function to process values .

我不知道这种功能的目的是什么,但我认为以某种方式处理所有内联值很有用。例如,用于转义或编码。当然,我可以写这样的代码:

function toUrl(s, ...vals) {
vals = vals.map(encodeURIComponent);

/// ???
var res = '';

for (var q=0; q<vals.length; ++q) {
res += s[q] + vals[q];
}

return res + s[s.length-1];
}

var data='a+b', args='%'
console.log(toUrl `data=${data}&args=${args}`)
console.log(toUrl `data=${data}&args=${args}&t=1`)

但令我惊讶的是,我必须在??? 之后编写这段代码。对我来说,使用此功能很自然,需要类似的代码——将处理过的参数与字符串合并。但是我找不到相应的标准方法。它存在吗?如果不是,标记 stings 的最初目的是什么?它的典型用法是什么?

附言:Same question in Russian.

最佳答案

您可以使用 String.raw 函数:

function toUrl(s, ...vals) {
vals = vals.map(encodeURIComponent);
return String.raw({ raw: s }, ...vals);
}

关于javascript - 在标记函数中加入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com