es6之字符串的拓展--模板字符串

1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的:

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

但是我们可以看到:这样的传统做法需要使用大量的“”(双引号)和 + 来拼接才能得到我们需要的模版。但是这样是十分不方便的。
  于是es6中提供了模板字符串用`(反引号)标识,用$()将变量括起来。上面的例子

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

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

`i am tingjiangjiang`
//不适用变量,只有字符串时
`i just who i am
lalala`
//使用模板字符串表示多行字符串,所有的空格和缩进都会被保存在输出中!!
`i just \`who i am
lalala`
//由于反引号是模板字符串的标识,如果我们需要在字符串中使用反引号,我们就需要对其进行专业。
  1. 在${}中的大括号里可以放入任意的javascrip表达式,还可以进行运算,以及引用对象属性。
var x=88;
var y = 100;
console.log(`x=${++x}`,y=${x+y});

//x=89,y=189

4.更强大的是:模板字符串还可以调用函数 :

function string(){
	return "tingjiangjaing likes es6!";
}
console.log(`what do you want to say?
			en!${string()}`);

//what do you want to say?
	en!tingjiangjiang likes es6!

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

 function string(){
        return 666;
    }
    console.log(`你想说什么? 
                嗯,${string()}`);
                //这这里,数组666,转换为字符串666

4.如果需要引用模板字符串本身,在需要时执行,可以写成函数

let func = (name)=>`Hello ${name}!`;
func('tingjiangjiang')
//'Hello tingjiangjiang'

在上面的代码中,模板字符串写成了一个函数的返回值。执行这个函数,就相当于执行这个模板字符串了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值