看到這篇文章很多人應該都會想問,模板字符串不就是以``包裹的字符串嗎,不是很簡單嘛?
的確模板字符串是我們在開發中經常用到的,${}的形式串聯變量非常的方便好用。
本文所談到的模板字符串的使用。除了詳細解釋上述的幾個特性之外。還包含了一些冷門的知道點。有興趣的話可以繼續往下看。
模板字符串
與普通的字符串相同,模板字符串是以反斜杠開頭和結尾的 `這是內容`
模板字符串的出現很好的解決了:
1. 多行字符串:自動轉義換行 空格 縮進,這樣可以所心所欲的寫想要的字符串格式
2. 字符串拼接:不在用’ + ’的方式,用 ${js表達式},更加清楚方便。
模板字符串內還可以套模板字符串,實現的原理就遞歸,遵循深度優先原則(由里向外一層層撥)
可以定制模板:
模板字符串中的標記函數
myTag是一個自定義的函數(隨便什么名字都行)
myTag寫在模板字符串的前面,其實js只是做了一件事件。
通過${}將模板字符串的內容分成靜態部分和動態部分,將靜態部分以數組的方式存入到myTag函數形參的第一位,動態的部分以形參的形式接着傳入函數
大致就像下面這種傳法
function myTag (['這是模板字符串','這也是',''], '1.這是測試值','2.這也是測試值' ) { }
雖然用到的地方可能不多,可說不准哪天可能會用上
可操作空間大,非常自由靈活
例子:將動態與靜態的部分用:拼接
模板字符串有個內置的方法String.raw(對特殊字符不轉義)