Rumah >hujung hadapan web >tutorial js >Mengapakah Templat JavaScript Saya Tidak Menggantikan Pembolehubah?

Mengapakah Templat JavaScript Saya Tidak Menggantikan Pembolehubah?

DDD
DDDasal
2024-12-06 22:21:12781semak imbas

Why Aren't My JavaScript Template Literals Substituting Variables?

Tersurat Templat Penyelesaian Masalah: Menyelesaikan Isu Penggantian Pembolehubah

Tersurat templat, dilambangkan dengan tanda belakang () dan bukannya tanda petikan lurus, membolehkan pembangun membenamkan ungkapan dalam rentetan. Walau bagaimanapun, anda mungkin menghadapi masalah apabila literal templat seperti 'beberapa ${string}' atau "beberapa ${string}"` gagal menggantikan nama pembolehubah dengan nilainya.

Punca:

Isu ini timbul apabila tanda petikan lurus (tunggal atau dua) digunakan dan bukannya kutu belakang.

Penyelesaian:

Untuk menyelesaikan masalah ini, cuma gantikan tanda petikan lurus yang mengelilingi literal templat dengan kutu belakang, seperti:

console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${this.categoryElements} `)

Penjelasan:

Templat JavaScript tersurat menggunakan kutu belakang sebagai pembatas. Perbezaan ini memisahkan mereka daripada rentetan biasa, yang menggunakan tanda petikan lurus. Dengan menggunakan backticks, anda mengarahkan JavaScript untuk menghuraikan dan menilai sebarang ungkapan yang tertanam dalam literal templat, menghasilkan penggantian nilai pembolehubah.

Contoh:

Pertimbangkan perkara berikut kod:

categoryName="name";
categoryElements="element";
console.log(`categoryName: ${this.categoryName}\ncategoryElements: ${categoryElements} `)

Kod ini akan output:

categoryName: name
categoryElements: element

Sebaliknya, jika anda menggunakan tanda petikan lurus, output akan dipaparkan seperti berikut:

${this.categoryName}
categoryElements: ${this.categoryElements}

Ini menggambarkan bagaimana tanda petikan lurus menganggap templat literal sebagai biasa. rentetan, mengekalkan nama pembolehubah literal dan bukannya menilai ungkapan dalam.

Rujukan:

  • [Penggunaan aksara tanda belakang () dalam JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Template_literals#Usage_of_the_backtick_character_)

Atas ialah kandungan terperinci Mengapakah Templat JavaScript Saya Tidak Menggantikan Pembolehubah?. 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