在上期文章es6擴展新特性中,想來對es6字符串已經(jīng)有所了解,對于長篇字符串來說es5中還是存在短板,下面繼續(xù)探究模板語法。
原來常用的字符串只能用+來進行連接,當遇到變量時就會顯得非常繁瑣,所以es6引進了(反引號)`來解決這個問題,在反引號中只要用${}則可以直接使用變量,如果字符串中同樣使用了反引號,則需要用反斜杠來替代,當然${}不止于變量,也可以調(diào)用對象屬性,函數(shù)等等方法,如果不能轉(zhuǎn)成字符串,則會調(diào)用其toString方法強制轉(zhuǎn)換。
如果想在模板字符串中輸出js表達式,例如for循環(huán)等等,可以使用<%...%>的方法寫在反引號中。
此外,模板字符串不僅僅只有上述功能,它可以緊跟在一個函數(shù)名后面該函數(shù)將被調(diào)用來處理這個模板字符串。這被稱為“標簽模板”例如alert`123` 等同于alert(123),標簽模板其實不是模板,而是函數(shù)調(diào)用的一種特殊形式,標簽指的就是函數(shù),緊跟在后面的模板字符串就是他的參數(shù)