我正在为模板文字编写一个 es6 标记函数,它首先检查字符串中的条件,如果未找到条件,则仅将模板文字解释为没有标记。我很好奇,从我的标记函数中,是否有一种方法可以调用浏览器的本机模板文字函数(我认为它会比我自己实现的函数更快)。Bonue:有了这个,标签组合就没有机会了,例如 htmlEscape(unndent foobar
);
例如。
function dumbTag(strs, ...vals) {
vals = vals.map((val,i) =>
(i % 2 == 0 ? 'even:' : 'odd:')+val);
return String.template(strs, ...vals);
}
我自己实现的功能 - 有没有更快的方式/方式来调用浏览器的功能?
function template(strs, ...vals) {
let result = strs[0];
for (let [i,val] of vals.entries()) {
result += val;
result += strs[i+1];
}
return result;
}