JavaScript 中的 String 類型 模板字面量定義字符串
String(字符串)數(shù)據(jù)類型表示零或多個16位Unicode字符序列。字符串可以使用雙引號(")、單引號(')或反引號(`)標(biāo)示,因此下面的代碼都是合法的:
ECMAScript 6新增了使用模板字面量定義字符串的能力。與使用單引號或雙引號不同,模板字面量保留換行字符,可以跨行定義字符串:
比定義HTML模板:
模板字符中會保持反引號內(nèi)部的空格,因此在使用時要格外注意。
字符串插值
支持字符串插值,也就是可以在一個連續(xù)定義中插入一個或多個值。
上述所描述的模板字面量是一種特殊的JavaScript句法表達(dá)式,只不過求值后得到的是字符串。模板字面量在定義時立即求值并轉(zhuǎn)換為字符串實例,任何插入的變量也會從它們最接近的作用域中取值。
字符串插值通過在${}中使用一個JavaScript表達(dá)式實現(xiàn):
所有插入的值都會使用toString()強(qiáng)制轉(zhuǎn)型為字符串,而且任何JavaScript表達(dá)式都可以用于插值。嵌套的模板字符串無須轉(zhuǎn)義:
將表達(dá)式轉(zhuǎn)換為字符串時會調(diào)用toString():
在插值表達(dá)式中可以調(diào)用函數(shù)和方法:
模板字面量也支持定義標(biāo)簽函數(shù)(tag function),而通過標(biāo)簽函數(shù)可以自定義插值行為。

因為表達(dá)式參數(shù)的數(shù)量是可變的,所以通常應(yīng)該使用剩余操作符:

如果你想把這些字符串和對表達(dá)式求值的結(jié)果拼接起來作為默認(rèn)返回的字符串,可以這樣做:
標(biāo)簽:JavaScript