JavaScript模板字面量(Template literals)介绍

JavaScript模板字面量(Template literals)介绍

模板字面量(Template literals)是什么?

简单地说,是允许嵌入表达式的字符串字面量。在反引号中可以直接使用单引号和双引号。

模板字符串使用反引号 (`) 来代替普通字符串中的用双引号和单引号。

模板字符串 - JavaScript | MDN

基本语法结构是:`string ${expression} string`

ECMAScript 6(简写ES6)模板字面量(Template Literal)是一种能够嵌入表达式的格式化字符串,有别于普通字符串,它使用反引号(`)包裹字符序列,而不是双引号或单引号。模板字面量包含特定形式的占位符(${expression}),由美元符号、大括号以及合法的表达式组成,合法的表达式(expression)可以是变量、算术或函数调用,甚至还可以是模板字面量。在ES6引入模板字面量后,就能避免用若干个加号来实现字符串拼接,而改用更为优雅的语法来替代,下面用新旧两种方式分别来组合字符串。

let name = "李明", age = 18;

console.log( "我是\"" + name + "\",我的年龄是" + age + "。");  //传统拼接方式

console.log( `我是 "${name}",我的年龄是${age}。`);  //模板字面量方式

无论是代码可读性还是简洁性,新方式都要略胜一筹。都输出:我是 "李明",我的年龄是18。

因为旧方式中的普通字符串是用双引号包裹的,所以字符序列中的双引号要用反斜线(\)转义。而模板字面量则无需为双引号或单引号转义,当然,如果出现反引号,那么还需将其转义。

嵌套使用

let a = 1, b = 2;

let str = `${ a } plus ${ b } ${`equals to ${ a + b }`}`;

console.log(str);     //     1 plus 2 equals to 3

下面给出在网页中模板字面量的例子。

例1、

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" /> 
<meta name="viewport" content="width=device-width" />
<title>模板字面量演示之一</title>
</head>
<body>
<div id="s1"></div>
<div id="s2"></div>
<div id="str1"></div>
<div id="str2"></div>
<script>
let name = "李明", age = 18;
//传统拼接方式如下
document.getElementById('s1').innerHTML = '我是' + name + ',我的年龄是' + age + '。';
//模板字面量方式如下
document.getElementById('s2').innerHTML = `我是${name},我的年龄是${age}。`;
//传统拼接方式且包含标签情况如下,
document.getElementById('str1').innerHTML = '我是<b>' + name + '</b>,我的年龄是<font color="green">' + age + '</font>。';
//模板字面量方式且包含标签情况如下
document.getElementById('str2').innerHTML = `我是<b>${name}</b>,我的年龄是<font color="green">${age}</font>。`;
</script>
</body>
</html>

保存文件名为:模板字面量示例1.html,用浏览器打开,效果如下:

例2、

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" /> 
<meta name="viewport" content="width=device-width" />
<title>模板字面量演示之二</title>
</head>
<body>
<div id="string"></div>
<script>
let a = 1, b = 2;
let str = `${ a } plus ${ b } ${`equals to ${ a + b }`}`;
document.getElementById('string').innerHTML = str;
</script>
</body>
</html>

保存文件名为:模板字面量示例1.html,用浏览器打开,效果如下:

OK! 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值