ES6 - 模板字符串

導(dǎo)讀:

  • 傳統(tǒng)的字符串模板 :在傳統(tǒng)的Javascript中,如果我們對(duì)DOM進(jìn)行操作,字符串模板通常采用加號(hào)( + )進(jìn)行字符串拼接。
  • ES6模板字符串 :以反引號(hào)( ` )表示普通的字符串,也可以表示多行字符串,同時(shí)還可以插入變量(代替?zhèn)鹘y(tǒng)的加號(hào)拼接)。

例子:

  • 傳統(tǒng)字符串拼接:
<script>
    let name = 'wrf';
    let age = 18;
    let str1 = '名字:'+name + ' ,今年'+age+'歲';
    console.log(str1);
    // let str2 = `名字:${name}, 今年${age}歲`;
    // console.log(str2);
</script>
  • 執(zhí)行結(jié)果:
    傳統(tǒng)拼接
  • 模板字符串拼接:

<script>
    let name = 'wrf';
    let age = 18;
    // let str1 = '名字:'+name + ' ,今年'+age+'歲';
    // console.log(str1);
    let str2 = `名字:${name}, 今年${age}歲`;
    console.log(str2);
</script>
  • 執(zhí)行結(jié)果:
    模板字符串

可以看到使用模板字符串和傳統(tǒng)字符串實(shí)現(xiàn)的效果是一樣的,那么怎么才能體現(xiàn)出它的優(yōu)勢(shì)呢?在看下面的例子 :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        // 字符串基本模板
        /*let name = 'wrf';
        let age = 18;
        let str1 = '名字:'+name + ' ,今年'+age+'歲';
        console.log(str1);
        let str2 = `名字:${name}, 今年${age}歲`;
        console.log(str2);
*/
        let data = [
            {title: '我是1號(hào)新聞', read: 1},
            {title: '我是2號(hào)新聞', read: 2},
            {title: '我是3號(hào)新聞', read: 3},
            {title: '我是4號(hào)新聞', read: 4},
            {title: '我是5號(hào)新聞', read: 5}
        ]

        window.onload = function() {
            var oUl = document.querySelector('ul');

            for(let i=0; i < data.length; i++) {
                var oLi = document.createElement('li');
                oLi.innerHTML = `<span>新聞標(biāo)題:${data[i].title}</span>
                <span>閱讀人數(shù):${data[i].read}</span>
                <a href="javascript:;">詳情</a>`
                oUl.appendChild(oLi);
            }
        }


    </script>
    <ul>
        <!-- <li>
            <span>新聞標(biāo)題:今天早間新聞</span>
            <span>閱讀人數(shù):10</span>
            <a href="javascript:;">詳情</a>
        </li> -->
    </ul>
</body>
</html>
  • 執(zhí)行結(jié)果 :
    優(yōu)勢(shì)
  • 可以看到當(dāng)你動(dòng)態(tài)添加DOM節(jié)點(diǎn)的時(shí)候,使用傳統(tǒng)字符串拼接(尤其是多行文本的時(shí)候),會(huì)大篇幅的在拼接處用( '+變量+' )的格式拼接,同時(shí)還要改每一行的開頭或格式,這個(gè)時(shí)候就會(huì)顯得操作很繁瑣,而ES6引入模板字符串后,使用反引號(hào)將需要添加的內(nèi)容包起來(lái)(單行文本 / 多行文本都一樣)然后在變量的地方用 ${變量}的形式替換掉就直接實(shí)現(xiàn)了與之前相同的功能,這樣看來(lái)模板字符串的用處還是很大的。

總結(jié):

  • 這個(gè)新特性可以說(shuō)是挺重要的,因?yàn)楹芏鄷r(shí)候無(wú)論從本地或是從后臺(tái)獲取的數(shù)據(jù)都需要?jiǎng)討B(tài)添加,那么其中多少都會(huì)涉及到字符串拼接,那么拋棄傳統(tǒng)的字符串拼接方法,使用ES6模板字符串將會(huì)讓你事半功倍!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 標(biāo)簽: 模板字符串 JavaScript ES6 前端 web本博客版權(quán)歸本人和饑人谷所有,轉(zhuǎn)載需說(shuō)明來(lái)源內(nèi)容轉(zhuǎn)載...
    饑人谷_小k閱讀 54,652評(píng)論 4 13
  • 為了能夠讓我們更加方便的拼接,操作字符串,ES6出了模板字符串。 模板字符串是用`反引號(hào)代替常規(guī)字符串的'單引號(hào)或...
    moonburn閱讀 3,381評(píng)論 0 1
  • 模板字符串(template string)是增強(qiáng)版的字符串,用反引號(hào)(`)標(biāo)識(shí)。它可以當(dāng)作普通字符串使用,也可以...
    知行社閱讀 906評(píng)論 0 3
  • 在jsp中使用ES6的模板字符串,由于el表達(dá)式和模板字符串的插入變量都是使用${}這種形式,所以下面的img標(biāo)簽...
    小閆94閱讀 2,980評(píng)論 1 4
  • 模板字符串(template string)是增強(qiáng)版的字符串,用反引號(hào)(`)標(biāo)識(shí)。它可以當(dāng)作普通字符串使用,也可以...
    luu閱讀 209評(píng)論 0 0

友情鏈接更多精彩內(nèi)容