ES6之模版字符串

ES6之模版字符串

  最近在项目中使用了ES6的模版字符串,在这里加以总结。html

  1.以前咱们也可使用JavaScript输出模版字符串,一般是下面这样的:es6

        $("#result").append(
        "He is <b>"+person.name+"</b>"+"and we wish to know his"+person.age+".That is all" 
        );

  可是咱们能够看到:这样的传统作法须要使用大量的“”(双引号)和 + 来拼接才能获得咱们须要的模版。可是这样是十分不方便的。app

 

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

        $("#result").append(
        `He is <b>${person.name}</b>and we wish to know his${person.age}.that is all`
        );

  这样的作法就简洁了不少,咱们不须要再使用大量的""和+来拼接字符串和变量。spa

 

 2. 固然,模版字符串能够引入变量,不使用变量也是能够的。以下所示:code

	` I am a man.`


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

  

 

  3. 咱们还能够先定义变量,而后在模版字符串中嵌入变量:htm

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

  

 4.显然,因为反引号是模版字符串的标识,若是咱们须要在字符串中使用反引号,咱们就须要对其进行转义,以下所示:对象

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

 

  5.注意:若是使用模版字符串表示多行字符串,全部的空格和缩进都会被保存在输出中!!blog

	 console.log( `No matter\` what you do,
	  I trust you.`); 

  输出结果以下:ip

 

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

  

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

结果以下所示:

 

  7.更强大的是:模版字符串还能够调用函数:

	function string(){
		return "zzw likes es6!";
	}
	console.log(`你想说什么? 
				嗯,${string()}`);
	

  结果以下所示:

 

  另外,若是函数的结果不是字符串,那么,将按照通常的规则转化为字符串:

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

  结果以下所示:

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

 

  8.若是在${}中的变量时没有命名的,那么会报错:

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

  在上面这句代码中,string()函数没有声明,因而报错:

 

  9.其实,咱们还能够在${}中输入一个字符串,知识结果仍旧会返回一个字符串:

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

  结果以下所示:

 

  

  10.若是但愿引用模版字符串自己,能够像下面这样写:

  

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

 

  结果以下:

       

 

 

 

 没有伞的孩子必须努力奔跑!

相关文章
相关标签/搜索