Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menangguhkan Penilaian Tersurat Templat ES6?
Dalam ES6, literal templat membenarkan interpolasi rentetan dengan nilai dinamik. Walau bagaimanapun, kadangkala kita mungkin perlu menangguhkan penilaian literal templat sehingga satu masa kemudian untuk memasukkan elemen dinamik.
Soalan: Bagaimanakah kita boleh menulis kod untuk menangguhkan penilaian templat ES6 literal sehingga selepas kita mencipta elemen yang digunakan untuk interpolasi secara dinamik?
Jawapan: Terdapat beberapa pendekatan untuk mencapai ini:
Menggunakan Rentetan Biasa:
Gunakan literal rentetan biasa dan bukannya rentetan templat untuk mengelakkan penilaian segera. Nilai pemegang tempat interpolasi boleh diformatkan menggunakan kaedah prototaip tersuai seperti ini:
String.prototype.format = function() { var args = arguments; return this.replace(/$\{p(\d)\}/g, function(match, id) { return args[id]; }); }; console.log("Hello, ${p0}. This is a ${p1}".format("world", "test"));
Menggunakan Huruf Templat Berteg:
Tersurat templat berteg menawarkan kaedah alternatif. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa penggantian masih dinilai tanpa membenarkan interpolasi pengecam seperti "p0".
function formatter(literals, ...substitutions) { return { format: function() { var out = []; for(var i=0, k=0; i < literals.length; i++) { out[k++] = literals[i]; out[k++] = arguments[substitutions[i]]; } out[k] = literals[i]; return out.join(""); } }; } console.log(formatter`Hello, <pre class="brush:php;toolbar:false">console.log(`Hello, ${"world"}. This is a ${"test"}`);. This is a `.format("world", "test"));
Mengelakkan Penangguhan:
Pertimbangkan untuk menggunakan rentetan templat seperti yang dimaksudkan tanpa sebarang fungsi format atau penangguhan. Rentetan templat menyediakan cara yang ringkas dan cekap untuk menginterpolasi nilai dinamik tanpa kerumitan tambahan.
Atas ialah kandungan terperinci Bagaimana untuk Menangguhkan Penilaian Tersurat Templat ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!