ES6 テンプレート リテラルは強化された文字列操作機能を提供しますが、よくある誤解の 1 つは、ES6 テンプレート リテラルは不変であり、変更できないということです。実行時に動的に再利用または置換できます。ただし、Function コンストラクターを使用した賢いアプローチを使用すると、その場で評価および補間できる再利用可能なテンプレート リテラルを作成できます。
再利用可能なテンプレートの鍵リテラルは、それらを中間形式として扱うことにあります。テンプレート文字列を Function オブジェクトに変換することで、動的データを使用して呼び出して最終文字列を生成できるテンプレート関数を効率的に作成できます。
<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>
これにより、次の場所で罵倒変数の値を置き換えることができます。
プロセスをさらに簡素化するために、テンプレート文字列からテンプレートへの変換を自動化するヘルパー関数を導入できます。再利用可能なテンプレート関数:
<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>
このヘルパー関数により、動的な置換を伴う再利用可能なテンプレートの定義と使用が簡単になります。
再利用可能なテンプレート リテラルには、いくつかの利点があります。 :
ただし、いくつかの制限もあります。
全体的に、ES6 テンプレート リテラルは、Function コンストラクターで拡張すると、新しいレベルの多用途性と再利用性が解放され、単なる静的な文字列ではなく、むしろリテラルであることがわかります。動的な文字列操作とテンプレート生成のための強力なツール。
以上がES6 テンプレート リテラルは実行時に再利用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。