Rumah >hujung hadapan web >tutorial js >Mengapakah Templat JavaScript Saya Tidak Menggantikan Pembolehubah?
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:
Atas ialah kandungan terperinci Mengapakah Templat JavaScript Saya Tidak Menggantikan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!