首頁 >web前端 >js教程 >為什麼我的 JavaScript 模板文字沒有替換變數?

為什麼我的 JavaScript 模板文字沒有替換變數?

DDD
DDD原創
2024-12-06 22:21:12785瀏覽

Why Aren't My JavaScript Template Literals Substituting Variables?

模板文字疑難解答:解決變數取代問題

模板文字用反引號() 表示,而不是直引號,使開發人員能夠嵌入字串內的表達式。但是,您可能會遇到這樣的問題:諸如“some ${string}”或“some ${string}”之類的模板文字無法將變數名稱替換為其值。

原因:

當使用直引號(單引號或雙引號)而不是反引號。

解決方案:

要解決此問題,只需用反引號替換模板文字周圍的直引號,如下所示:

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

解釋:

JavaScript模板文字利用反引號作為分隔符號。這種區別將它們與使用直引號的常規字串區分開來。透過使用反引號,您可以指示 JavaScript 解析和計算模板文字中嵌入的任何表達式,從而替換變數值。

範例:

考慮以下內容程式碼:

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

此程式碼將輸出:

categoryName: name
categoryElements: element

相反,🎜>相反,如果使用直引號,輸出將如下所示:

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

這說明了直引號如何將模板文字視為常規文字字串,保留文字變數名稱而不是計算表達式

參考:

  • 【反引號() 的用法JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Template_literals#Usage_of_the_backtick_character_)

以上是為什麼我的 JavaScript 模板文字沒有替換變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn