最近看到一段js,在字串中,插入變數拼接字串,可以用 這種方式嗎?為什麼?什麼原理?

時間 2021-06-08 11:55:17

1樓:前端小胖

這個是 ES6 新增的字串模板。使用起來非常方便。

在字串模板裡面變數寫在 ${} 裡面,其他的正常寫就實現了拼接字串。

varage=20

;var

str=`$`

2樓:Ruoduan

模版字串,es6的乙個特性,解決了來回的雙引號單引號加號巢狀的痛點,並且在會保留鍵盤格式的例如你在拼接的時候敲了個回車,它會原封不動渲染,反之你還要寫換行符,很麻煩,難看

3樓:FE情報局

這個是JS語法,叫做「模板字串」

這種語法是能夠允許嵌入表示式的字串字面量模板字串使用反引號 (` `) 來代替普通字串中的用雙引號和單引號。模板字串可以包含特定語法($)的佔位符。佔位符中的表示式和周圍的文字會一起傳遞給乙個預設函式,該函式負責將所有的部分連線起來,如果乙個模板字串由表示式開頭,則該字串被稱為帶標籤的模板字串,該表示式通常是乙個函式,它會在模板字串處理後被呼叫,在輸出最終結果前,你都可以通過該函式來對模板字串進行操作處理。

在模版字串內使用反引號(`)時,需要在它前面加轉義符(\)。

具體的使用

插入表示式

舉例:leta=

5,b=

1;console

.log

(`a的值為

$, b的值為

$, a+b的值為$`

)// 對應的列印出來的結果為:a的值為5, b的值為1, a+b的值為6

2. 多行字串

舉例:console

.log

('這是第一行\n'

+'這是第二行'

)// 實現同樣的效果,使用模版字串這麼寫就可以console

.log

(`這是第一行

這是第二行`

);// 對應的列印出來的效果都是:

// "這是第一行

// 這是第二行"

3. 當然,在模版字串裡面也可以使用三元表示式leta=5

,b=1

;console

.log

(`a和b中最大的數是$`

)// 列印結果為:a和b中最大的數是5

C C 語言中如何優雅地拼接多段字串?

熊貓刷牙 如果是C 的話過載運算子是最優解 優雅 String s1 ABC s1 abc String s2 s1 DEF 熊起 imperfect C 裡有個兼顧效率和表達簡介的思路,脫去語法糖大體是這樣效果 int a,float b,char c stringbuilderproxy a b...

C 語言中如何優雅地拼接多段字串?

湛藍水晶 用sprintf strcat在設計之初是考慮了鏈式呼叫的,所以返回的是源位址,於是可以用 strcat strcat strcat strcat strcat strcat strcat strcat dest TEST1 ip TEST2 port TEST3 name TEST4 n...

Python中如何複製乙個值或字串?

豌豆花下貓 update 實際上存在複製字串的方法。例如 join str 詳見這篇文章 join 方法的神奇用處與Intern機制的軟肋 以下是原回答 正想問同樣的問題,發現有人問了。不過看到這麼少人回答,還答非所問,就知道像我們這樣敏銳的人還是太少了。我先幫題主補充一下問題,這樣讀者才有正確思考...