Menangguhkan Pelaksanaan Literal Templat dalam ES6
Dalam ES6, literal templat menyediakan cara yang berkesan untuk membenamkan nilai dinamik ke dalam rentetan. Walau bagaimanapun, apabila menggunakan interpolasi rentetan dalam literal templat, nilai dinilai sebelum literal templat diproses oleh kaedah manipulasi rentetan tersuai. Ini boleh membawa kepada hasil yang tidak diingini apabila menangguhkan pelaksanaan templat literal.
Untuk menangani perkara ini, terdapat beberapa pendekatan yang boleh dipertimbangkan:
1. Gunakan Rentetan Templat
Elakkan menggunakan interpolasi rentetan dalam literal templat dan sebaliknya pilih rentetan templat seperti yang dimaksudkan. Contohnya:
console.log(`Hello, ${"world"}. This is a ${"test"}`);
2. Gunakan Literal Templat Berteg
Gunakan literal templat berteg untuk melaksanakan kod selepas penggantian literal templat telah dinilai. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa penggantian itu sendiri masih dinilai serta-merta:
function formatter(literals, ...substitutions) { return { format: function() { // Implementation for value substitution and template literal concatenation } }; } console.log(formatter`Hello, <pre class="brush:php;toolbar:false">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"));
3. Gunakan Huruf Rentetan Biasa dengan Manipulasi Rentetan Tersuai
Buat fungsi manipulasi rentetan tersuai untuk memformat rentetan kemudian dalam kod, selepas nilai telah diambil secara dinamik:
Atas ialah kandungan terperinci Bagaimana untuk Menangguhkan Pelaksanaan Literal Templat dalam ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!