Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menangguhkan Penilaian Literal Templat ES6?

Bagaimana untuk Menangguhkan Penilaian Literal Templat ES6?

Susan Sarandon
Lepaskan: 2024-11-06 20:42:03
asal
509 orang telah melayarinya

How to Defer Evaluation of ES6 Template Literals?

Menangguhkan Pelaksanaan untuk ES6 Template Literal

ES6 Template Literals menyediakan gula sintaksis yang kuat untuk interpolasi rentetan, tetapi bagaimana jika anda ingin menangguhkan penilaian sehingga selepas penciptaan elemen dinamik?

Isunya

Secara tradisinya, menggunakan String.prototype.format akan membenarkan penilaian tertunda. Walau bagaimanapun, literal templat dinilai pada masa penghuraian, menghalang pendekatan ini.

Penyelesaian 1: Gunakan Literal Templat Berteg

Tersurat templat berteg membolehkan anda memintas dan memproses templat literal sebelum penilaian:

function formatter(literals, ...substitutions) {
    return {
        format: function() {
            // ... code here ...
        }
    };
}
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"));
Salin selepas log masuk
. This is a `.format("world", "test"));

Penyelesaian 2: Gunakan Literal Rentetan Biasa

Sebagai alternatif, anda boleh menggunakan literal rentetan biasa dan menghuraikan penggantian secara manual:

const welcome = (p0, p1) => `Hello, ${p0}. This is a ${p1}`;
console.log(welcome("world", "test"));
Salin selepas log masuk

Penyelesaian 3: Elakkan Literal Templat dan Gunakan Parameter Fungsi

Akhir sekali, anda boleh mengelakkan literal templat sama sekali dan menggunakan parameter fungsi:

Pertimbangan

  • Penyelesaian 1 menawarkan paling fleksibel tetapi mungkin terlalu rumit untuk kes penggunaan mudah.
  • Penyelesaian 2 lebih mudah tetapi memerlukan penghuraian manual.
  • Penyelesaian 3 menggunakan pendekatan tradisional tanpa literal templat.

Atas ialah kandungan terperinci Bagaimana untuk Menangguhkan Penilaian Literal Templat ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan