美文网首页
模版字符串—ES6

模版字符串—ES6

作者: AmazingMax | 来源:发表于2018-03-28 18:50 被阅读60次

    今天在项目中用到了模版字符串,在此感谢小马同学的知识分享。

    1、ES6中提供的模版字符串

    在使用模板字符串之前我们都是这样输出模版字符串的:

    console.log( "My name is <b>"+person.name+"</b>"+"and I am a "+person.sex+".Nice to meet you." );
    

    这样的传统做法需要使用大量的“”(双引号)和 + 来拼接才能得到我们需要的模版,很不方便。

    于是ES6中提供了模版字符串,用`(反引号)标识,用${}将变量括起来。上面的例子可以用模版字符串写成下面这样:

    console.log( `My name is <b>${person.name}</b>and I am a${person.age}.Nice to meet you.`);
    

    这样的做法就简洁了很多,我们不需要再使用大量的""和+来拼接字符串和变量。

    2、模版字符串引入变量

    当然,模版字符串可以引入变量,不使用变量也是可以的。如下所示:

    ` I am happy.`
      
    ` No matter what you do,
      I trust you.`
    

    我们可以先定义变量,然后在模版字符串中嵌入变量:

    var name="lisa";
    ` ${name},no matter what you do,
      I trust you.`
    

    3、在字符串中使用反引号

    由于反引号是模版字符串的标识,如果我们需要在字符串中使用反引号,我们就需要对其进行转义:

     `No matter\` what you do,
          I trust you.` 
    

    输出结果如下:


    在字符串中使用反引号

    5、可以放入任意的JavaScript表达式

    在${}中的大括号里可以放入任意的JavaScript表达式,还可以进行运算,以及引用对象属性。

        var x=88;
        var y=100;
        console.log(`x=${++x},y=${x+y}`);
    

    结果如下所示:


    运行结果

    6、调用函数

    更强大的是:模版字符串还可以调用函数!

       function string(){
        return "吃葡萄不吐葡萄皮";
       }
       console.log(`你想说什么? 嗨,${string()}`);
    

    如果函数的结果不是字符串,那么,将按照一般的规则转化为字符串:

        function string(){
            return 666;
        }
        console.log(`你想说什么? 
                    嗯,${string()}`);
    

    结果如下所示:


    显示结果

    在这里,实际上数字666被转化成了字符串666.

    如果在${}中的变量时没有命名的,那么会报错:

      console.log(`你想说什么? 嗯,${string()}`);
    
    报错咯

    7、在${}中输入一个字符串

      console.log(`你想说什么?
                 嗯,${"其实我不是变量~"}`);
    
    结果显示

    8、引用模版字符串本身

    如果希望引用模版字符串本身,可以像下面这样写:

        let str="return"+"`Hello! ${name}`";
        let func=new Function("name",str);
        console.log(func("zzw"));
    

    结果如下:


    显示结果

    参考文章:ES6之模版字符串

    相关文章

      网友评论

          本文标题:模版字符串—ES6

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