不知道在哪看到了模板字符串做爲函數的調用這種用法,開始看到的時候很懵逼,由於原來根本不知道模板字符串還能這麼用,也沒見過有人這樣用過。javascript
doSomething`my name is ${name}`
複製代碼
後來在MDN上又去看了下模板字符串相關的章節,才知道這個用法是模板字符串的一種高級應用,叫作標籤模板。整體來講就是定義一個函數來解析傳入的模板字符串。此函數的第一個參數是模板字符串的字符部分組成的一個數組。好比上面那個my name is ${name}
,那麼第一個參數就是['my name is', '' ,'']
後面連個空值是${name}
先後是空值。標籤標籤函數後面的參數就是,模板字符串中插入的變量,若是有一個變量那麼就增長一個參數。java
其實應用的話很簡單就是對模板字符串進行重組和各類條件計算。更高級一點的就是進行模板解析了。。。。。數組