ES6 - 模板字符串

导读:

  • 传统的字符串模板 :在传统的Javascript中,如果我们对DOM进行操作,字符串模板通常采用加号( + )进行字符串拼接。
  • ES6模板字符串 :以反引号( ` )表示普通的字符串,也可以表示多行字符串,同时还可以插入变量(代替传统的加号拼接)。

例子:

  • 传统字符串拼接:
<script>
    let name = 'wrf';
    let age = 18;
    let str1 = '名字:'+name + ' ,今年'+age+'岁';
    console.log(str1);
    // let str2 = `名字:${name}, 今年${age}岁`;
    // console.log(str2);
</script>
  • 执行结果:
    传统拼接
  • 模板字符串拼接:

<script>
    let name = 'wrf';
    let age = 18;
    // let str1 = '名字:'+name + ' ,今年'+age+'岁';
    // console.log(str1);
    let str2 = `名字:${name}, 今年${age}岁`;
    console.log(str2);
</script>
  • 执行结果:
    模板字符串

可以看到使用模板字符串和传统字符串实现的效果是一样的,那么怎么才能体现出它的优势呢?在看下面的例子 :

<!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号新闻', read: 1},
            {title: '我是2号新闻', read: 2},
            {title: '我是3号新闻', read: 3},
            {title: '我是4号新闻', read: 4},
            {title: '我是5号新闻', 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>新闻标题:${data[i].title}</span>
                <span>阅读人数:${data[i].read}</span>
                <a href="javascript:;">详情</a>`
                oUl.appendChild(oLi);
            }
        }


    </script>
    <ul>
        <!-- <li>
            <span>新闻标题:今天早间新闻</span>
            <span>阅读人数:10</span>
            <a href="javascript:;">详情</a>
        </li> -->
    </ul>
</body>
</html>
  • 执行结果 :
    优势
  • 可以看到当你动态添加DOM节点的时候,使用传统字符串拼接(尤其是多行文本的时候),会大篇幅的在拼接处用( '+变量+' )的格式拼接,同时还要改每一行的开头或格式,这个时候就会显得操作很繁琐,而ES6引入模板字符串后,使用反引号将需要添加的内容包起来(单行文本 / 多行文本都一样)然后在变量的地方用 ${变量}的形式替换掉就直接实现了与之前相同的功能,这样看来模板字符串的用处还是很大的。

总结:

  • 这个新特性可以说是挺重要的,因为很多时候无论从本地或是从后台获取的数据都需要动态添加,那么其中多少都会涉及到字符串拼接,那么抛弃传统的字符串拼接方法,使用ES6模板字符串将会让你事半功倍!
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 标签: 模板字符串 JavaScript ES6 前端 web本博客版权归本人和饥人谷所有,转载需说明来源内容转载...
    饥人谷_小k阅读 54,628评论 4 13
  • 为了能够让我们更加方便的拼接,操作字符串,ES6出了模板字符串。 模板字符串是用`反引号代替常规字符串的'单引号或...
    moonburn阅读 3,360评论 0 1
  • 模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以...
    知行社阅读 895评论 0 3
  • 在jsp中使用ES6的模板字符串,由于el表达式和模板字符串的插入变量都是使用${}这种形式,所以下面的img标签...
    小闫94阅读 2,967评论 1 4
  • 模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以...
    luu阅读 209评论 0 0

友情链接更多精彩内容