¿Cómo llamar al reemplazo de cadena de plantilla es6 nativo desde la función de etiqueta?
Estoy escribiendo una función de etiqueta es6 para los literales de plantilla, que primero verifica una condición en la cadena y, si no se encuentra la condición, simplemente interpreta el literal de la plantilla como si no estuviera etiquetado. Tengo curiosidad si, desde mi función de etiqueta, hay una manera de llamar a la función literal de plantilla nativa del navegador (que supongo que sería más rápido quemi propia función implementada) Bonue: con esto, no podría haber una oportunidad para la composición de etiquetas, por ejemplo, htmlEscape (sin sangríafoobar
);
p.ej.
function dumbTag(strs, ...vals) {
vals = vals.map((val,i) =>
(i % 2 == 0 ? 'even:' : 'odd:')+val);
return String.template(strs, ...vals);
}
mi propia función implementada: ¿hay una forma más rápida de llamar a lo que hace el navegador?
function template(strs, ...vals) {
let result = strs[0];
for (let [i,val] of vals.entries()) {
result += val;
result += strs[i+1];
}
return result;
}