Während ES6-Vorlagenliterale verbesserte Möglichkeiten zur String-Manipulation bieten, besteht ein häufiges Missverständnis darin, dass sie unveränderlich sind und dies nicht können zur Laufzeit wiederverwendet oder dynamisch ersetzt werden. Mit einem cleveren Ansatz unter Einbeziehung des Funktionskonstruktors ist es jedoch möglich, wiederverwendbare Vorlagenliterale zu erstellen, die im laufenden Betrieb ausgewertet und interpoliert werden können.
Der Schlüssel zu wiederverwendbaren Vorlagen Literale liegen darin, sie als Zwischenform zu behandeln. Durch die Konvertierung der Vorlagenzeichenfolge in ein Funktionsobjekt erstellen wir effektiv eine Vorlagenfunktion, die mit dynamischen Daten aufgerufen werden kann, um die endgültige Zeichenfolge zu generieren.
<code class="javascript">const templateString = `\`This is my ${expletive} reusable template!\``; const templateFunction = new Function(`return \`${templateString}\``); let expletive = 'curious'; console.log(templateFunction.call({ expletive }));</code>
Dadurch können wir den Wert der expletiven Variablen ersetzen Laufzeit, wodurch die Vorlage effektiv wiederverwendbar und dynamisch wird.
Um den Prozess weiter zu vereinfachen, können wir eine Hilfsfunktion einführen, die die Konvertierung einer Vorlagenzeichenfolge in eine automatisiert Wiederverwendbare Vorlagenfunktion:
<code class="javascript">function reusableTemplate(templateString) { return `return \`${templateString.replace('{','$${')}\``; } const template = reusableTemplate(`This is my {expletive} reusable template!`); console.log(new Function(template)({ expletive: 'AMAZING' }));</code>
Diese Hilfsfunktion macht es mühelos, wiederverwendbare Vorlagen mit dynamischen Ersetzungen zu definieren und zu verwenden.
Wiederverwendbare Vorlagenliterale bieten mehrere Vorteile :
Sie weisen jedoch auch einige Einschränkungen auf:
Insgesamt eröffnen ES6-Vorlagenliterale, wenn sie mit dem Funktionskonstruktor erweitert werden, ein neues Maß an Vielseitigkeit und Wiederverwendbarkeit und zeigen, dass es sich nicht nur um statische Zeichenfolgen handelt, sondern vielmehr um die Verwendung von JavaScript-Logik leistungsstarke Tools für die dynamische String-Manipulation und Vorlagengenerierung.
Das obige ist der detaillierte Inhalt vonKönnen ES6-Vorlagenliterale zur Laufzeit wiederverwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!