Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah Huruf Templat Digunakan Semula?

Bolehkah Huruf Templat Digunakan Semula?

Patricia Arquette
Patricia Arquetteasal
2024-11-02 13:02:02848semak imbas

Can Template Literals Be Truly Reused?

Templat Literal: Resuscitating Reuse

Templat literal dalam ES6 sering disebut-sebut sebagai alat manipulasi teks yang berkuasa, tetapi persoalan yang membingungkan berterusan: bolehkah mereka benar-benar digunakan semula?

Tidak dapat dipenuhi Jangkaan

Pada pandangan pertama, literal templat nampaknya menjanjikan penggantian dinamik hanya pada masa pengisytiharan. Ini menimbulkan persoalan: apakah templat yang kekal statik?

Memecah Kitaran

Bertentangan dengan kepercayaan popular, literal templat boleh dicergaskan semula dengan penggantian masa jalan menggunakan Fungsi pembina sebagai perantara:

const template = "Hello ${this.name}!";
const variables = {
  name: "world"
};
function fillTemplate(str, data) {
  return new Function("return `" + str + "`;").call(data);
}
console.log(fillTemplate(template, variables)); // Output: Hello world!

Anatomi sesuatu Templat Boleh Digunakan Semula

Teknik ini membenarkan perkara berikut:

  • Interpolasi masa jalan: Pembolehubah diisi secara dinamik, seperti dalam enjin templat tradisional.
  • Pecahan: Templat boleh disimpan dalam fail berasingan atau diperolehi secara dinamik.
  • Penciptaan dinamik: Templat boleh dibina dan dinilai dengan pantas.

Menjawab Kaveat

Walaupun kaedah ini menawarkan fungsi resusitasi, terdapat beberapa kaveat:

  • JavaScript Terhad: Logik JavaScript sebaris tidak boleh dilakukan kerana interpolasi lewat.
  • Teg templat: Teg templat menjadi mencabar untuk dilaksanakan.

Walaupun ada batasan ini, jelas bahawa dengan sedikit kepintaran, literal templat boleh melangkaui batasan konvensionalnya dan menjadi benar-benar boleh diguna semula.

Atas ialah kandungan terperinci Bolehkah Huruf Templat Digunakan Semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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