ES6基礎之——帶標籤的模版字符串Tagged Templates

能夠在模版字符串的前面加標籤,這個標籤的做用是處理模版字符串裏的字符和插入的那些值。
這裏說的標籤其實就是一個函數,不過用起來跟普通的函數仍是有點區別。

 

例子:
let dessert = 'cake',
drink = 'tea'
let breakfast =kitchen `今天的早餐是${dessert}與${drink}!`;

//定義標籤函數
function kitchen(strings,...values){ //Strings:模版字符串裏每一部分的字符;...values:模版字符串裏的值
console.log(strings); //["今天的早餐是","與","!""]
console.log(values); //["cake","tea"]
}

 

在標籤裏面能夠分別處理一下這個字符串裏的每個部分,好比能夠檢查字符串裏面是否是有不可以包含的東西、在貨幣的前面添加一個貨幣符號、去轉換字符串裏的html代碼、去把這個字符串轉換成其餘的語言等等

 

正常輸出模版字符串裏的東西,咱們能夠這樣:
function kitchen(strings,...values){
let result ='';
for(var i=0;i<values.length;i++){
result += strings[i]; //每次循環讓result加上字符
result += values[i]; //每次循環讓result加上模版字符串裏的插值
}
result += strings[strings.length-1]; //result加上最後 一部分字符
return result;
}
console.log(breakfast) //今天的早餐是cake與tea!  
相關文章
相關標籤/搜索