Rumah >hujung hadapan web >tutorial js >Bolehkah ES6 Template Literals Boleh Digunakan Semula pada Runtime?
Walaupun literal templat ES6 menyediakan keupayaan manipulasi rentetan yang dipertingkatkan, satu tanggapan yang salah biasa ialah ia tidak berubah dan tidak boleh digunakan semula atau diganti secara dinamik pada masa jalan. Walau bagaimanapun, dengan pendekatan bijak yang melibatkan pembina Fungsi, adalah mungkin untuk mencipta literal templat boleh guna semula yang boleh dinilai dan diinterpolasi dengan cepat.
Kunci kepada templat boleh guna semula literal terletak pada memperlakukan mereka sebagai bentuk perantaraan. Dengan menukar rentetan templat kepada objek Fungsi, kami secara berkesan mencipta fungsi templat yang boleh digunakan dengan data dinamik untuk menjana rentetan akhir.
<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>
Ini membolehkan kami menggantikan nilai pembolehubah ekspletif di masa jalan, menjadikan templat boleh diguna semula dan dinamik dengan berkesan.
Untuk memudahkan lagi proses, kami boleh memperkenalkan fungsi pembantu yang mengautomasikan penukaran rentetan templat kepada fungsi templat boleh guna semula:
<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>
Fungsi pembantu ini menjadikannya mudah untuk menentukan dan gunakan templat boleh guna semula dengan penggantian dinamik.
Tersurat templat boleh guna semula menawarkan beberapa faedah:
Walau bagaimanapun, ia juga disertakan dengan beberapa had:
Secara keseluruhannya, literal templat ES6, apabila dilanjutkan dengan pembina Fungsi, buka kunci tahap serba boleh dan kebolehgunaan semula yang baharu, menunjukkan bahawa ia bukan sekadar rentetan statik tetapi alat yang berkuasa untuk manipulasi rentetan dinamik dan penjanaan templat.
Atas ialah kandungan terperinci Bolehkah ES6 Template Literals Boleh Digunakan Semula pada Runtime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!