Wie rufe ich das Ersetzen der nativen es6-Vorlagenzeichenfolge über die Tag-Funktion auf?
Ich schreibe eine es6-Tag-Funktion für Vorlagenliterale, die zuerst eine Bedingung in der Zeichenfolge überprüft und, falls die Bedingung nicht gefunden wird, das Vorlagenliteral nur so interpretiert, als wäre es nicht mit Tags versehen. Ich bin gespannt, ob es in meiner Tag-Funktion eine Möglichkeit gibt, die systemeigene Template-Literal-Funktion des Browsers aufzurufen (von der ich annehme, dass sie schneller ist alsmeine eigene implementierte Funktion). Bonue: Könnte es keine Möglichkeit geben, Tags zu erstellen, zB htmlEscape (unindentfoobar
);
z.B
function dumbTag(strs, ...vals) {
vals = vals.map((val,i) =>
(i % 2 == 0 ? 'even:' : 'odd:')+val);
return String.template(strs, ...vals);
}
meine eigene implementierte Funktion - gibt es eine schnellere Möglichkeit, das aufzurufen, was der Browser tut?
function template(strs, ...vals) {
let result = strs[0];
for (let [i,val] of vals.entries()) {
result += val;
result += strs[i+1];
}
return result;
}