美文网首页web前端ES6
ES6 - 模板字符串

ES6 - 模板字符串

作者: 饮杯梦回酒 | 来源:发表于2018-12-25 21:44 被阅读0次

导读:

  • 传统的字符串模板 :在传统的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模板字符串将会让你事半功倍!

相关文章

  • ES6模版字符串

    初探ES6:字符串模板 && 标签模板 关键词:``,${} 字符串模板: 在ES6之前我们要在html或者con...

  • 21.模板字符串和标签模板字符串

    ES6新增了模板字符串,用于字符串拼接 ES6新增了标签字符串 标签模板字符串执行结果: 函数的第一个参数为数组,...

  • ES6常用新特性

    ES6新特性介绍 模板字符串 模板字符串实现字符串拼接 模板字符串实现多行字符串 结构赋值 对象的解构赋值 数组的...

  • TypeScript字符串新特性

    多行字符串 1. 多行字符串 其中 `` 用来定义 ES6 中的模板字符串,${expr} 用来在模板字符串中嵌...

  • es6、es7常用特性

    1、模板字符串模板字符串 不使用ES6 使用+号降变量拼接喂字符串 例:var name ='My name is...

  • ES6入门用法&字符串模板

    字符串模板 传统的JavaScript的输出模板是 ES6引入了模板字符串来解决这个问题 用反引号(`)来标识

  • 【基础知识】消除ES6模板字符串中的空格

    转:消除ES6模板字符串中的空格 在开发中经常要用模板字符串,在拼接HTML文件时会遇到模板字符串中的空格问题比如...

  • (五)ES6字符串模板箭头函数字面量

    本节知识点 字符串模板 箭头函数 字面量 字符串模板 在ES6里面字符串模板就是为了不用再把字符串拼接起来,省的有...

  • ES6 模板字符串

    为了能够让我们更加方便的拼接,操作字符串,ES6出了模板字符串。 模板字符串是用`反引号代替常规字符串的'单引号或...

  • ES6之模板字符串的使用方法

    字符串模板引擎 什么是模板字符串?ES5中的字符串缺乏多行字符串、字符串格式化、HTML转义等特性。而ES6通过模...

网友评论

    本文标题:ES6 - 模板字符串

    本文链接:https://www.haomeiwen.com/subject/lipqlqtx.html