ES6 テンプレート リテラルの再利用性の難問
この議論で提起された主な懸念は、ES6 テンプレート リテラルには再利用性がないと思われる点を中心に展開されています。従来のデモでは、宣言時の置換が強調され、実行時の変更は許可されていません。
解決策: 関数コンストラクターの活用
この問題に対処するための実行可能な解決策は、関数コンストラクター。このアプローチには、テンプレート文字列を関数に変換することが含まれます。
次のスニペットを考えてみましょう。
const templateString = `Hello ${this.name}!`;
const templateVars = {
name: "world"
};
const fillTemplate = function(templateString, templateVars){
return new Function("return `" templateString "`;").call(templateVars);
};
console.log(fillTemplate(templateString, templateVars));
この関数を呼び出すと、実行時に変数を柔軟に変更しながら、目的の文字列を生成できます。
の利点このアプローチ:
潜在的な欠点:
要約すると、ES6 テンプレート リテラルには本質的に真の再利用性がありませんが、Function コンストラクターを採用することで回避策が提供されます。実行時にテンプレートを作成および変更するという望ましい動作をエミュレートします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3