ES6之字符串的擴(kuò)展(上)

模板字符串

在傳統(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)字符串特別長(zhǎng)的時(shí)候+就會(huì)顯得冗余。于是在ES6中就有了模板字符串,它是用反引號(hào)`進(jìn)行拼接的(鍵盤上tab鍵上面的那個(gè)鍵子)。

var a =1, b=2;
var str = `a的值是${a},b的值是${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)都會(huì)保留在輸出中:
var str = `a的值是${a}, b的值是${b}`;
上邊輸出的str也是含有換行的str。

標(biāo)簽?zāi)0?/h4>

標(biāo)簽?zāi)0迨窃谀0遄址凹由弦粋€(gè)用來(lái)處理它的函數(shù)名稱,我們先來(lái)看下邊的代碼:

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后邊會(huì)講到,這里可以把...values和arr理解為arguments。arguments[0]就是arr,是一個(gè)數(shù)租,里邊的元素是模板字符串中的非變量?jī)?nèi)容。values,存放的是模板字符串中的變量值,這樣,我們知道了他們存放的位置就可以隨意的處理和操縱模板字符串了。

最后,跟大家分享一下我的個(gè)人博客地址:http://javascript404.com
歡迎你的到來(lái) ~ ~ ???

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的...
    卞卞村長(zhǎng)L閱讀 771評(píng)論 0 0
  • 曾經(jīng)一位大學(xué)同學(xué)說(shuō)過(guò),人,是要相處才知道的。 在與人交往過(guò)程中,我個(gè)人在同性交往方面比異性交往難度更小,雖說(shuō)同性相...
    cora的生活手冊(cè)閱讀 179評(píng)論 0 0
  • 解決了時(shí)間的問(wèn)題。讓我們隨時(shí)隨地可以獲取到想要獲取的。 比如直播。 視頻網(wǎng)站發(fā)布,最快只能在錄制完成之后才可以發(fā)布...
    花花石頭Fanny閱讀 90評(píng)論 0 0