模板字符串
在傳統(tǒng)的拼接字符串中康铭,使用的是‘+’進(jìn)行拼接:
var a =1, b=2;
var str = "a的值是" + a + "誓斥,b的值是" + b;
console.log(str); // a的值是1荆萤,b的值是2
可以看出用+進(jìn)行拼接字符串比較繁瑣达箍,尤其是當(dāng)字符串特別長的時候+就會顯得冗余。于是在ES6中就有了模板字符串奢赂,它是用反引號`進(jìn)行拼接的(鍵盤上tab鍵上面的那個鍵子)陪白。
var a =1, b=2;
var str = `a的值是${a},b的值是$膳灶`;
console.log(str);
變量的值放在${ }中咱士,里邊除了可以是變量,也可以是表達(dá)式轧钓。
var res = `the sum of a and b is ${a+b}`;
console.log(res); // the sum of a and b is 3
表達(dá)式也包括函數(shù)的調(diào)用:
function sum (a=1, b=2){
return a+b;
}
var str = `the result is ${sum()}`;
console.log(str);
需要注意的是序厉,在模板字符串中所有出現(xiàn)的空格、換行和縮進(jìn)都會保留在輸出中:
var str = `a的值是${a}毕箍, b的值是$弛房`;
上邊輸出的str也是含有換行的str。
標(biāo)簽?zāi)0?/h4>
標(biāo)簽?zāi)0迨窃谀0遄址凹由弦粋€用來處理它的函數(shù)名稱而柑,我們先來看下邊的代碼:
var yy = 2017, mm = 4, dd = 21;
tagTemplate`Today is ${yy}-${mm}-${dd}.`
function tagTemplate(arr,...values){
console.log(arr); // [ 'Today is ', '-', '-', '.' ]
console.log(values); // [ 2017, 4, 21 ]
}
參數(shù)里的...values后邊會講到文捶,這里可以把...values和arr理解為arguments。arguments[0]就是arr媒咳,是一個數(shù)租粹排,里邊的元素是模板字符串中的非變量內(nèi)容。values涩澡,存放的是模板字符串中的變量值顽耳,這樣,我們知道了他們存放的位置就可以隨意的處理和操縱模板字符串了妙同。
最后射富,跟大家分享一下我的個人博客地址:http://javascript404.com
歡迎你的到來 ~ ~ ???