在上一节中我们学习了JS字符串的基础知识,本节我们将深入学习JS中的模板字符串。模板字符串是ES6引入的强大特性,它使用反引号(``)代替传统的引号,提供了更灵活的字符串处理能力。那什么是模板字符串?模板字符串是一种允许嵌入表达式的字符串字面量,能够让我们更优雅地处理字符串拼接动态内容

创建模板字符串的语法格式如下:

/*创建一个空模板字符串*/
const str = ``

在模板字符串中,我们既可以使用('')或("")包裹字符串:

const str=`"coding"at'Dotcpp!'`

在模板字符串中,允许多行字符串出现:

const str = `
'today'
'we'
'do'
'coding at Dotcpp'`

通过模板字符串,我们能够更加灵活地进行字符串拼接。比如对于每一个Dotcpp用户,他们都有自己的昵称、签名、成绩以及等级,如果我们想要通过这些属性输出一段自我介绍,模板字符串就显得十分高效和简洁:

// 创建Dotcpp用户
const dotcpp_user = {
 nickName: "dotcpp_user",
 signature:"学习使人进步",
 grade:100,
 degree:'P1'
};
/*方法1,转为字符串并通过+=拼接*/
const arr1=Object.values(dotcpp_user)//获取用户的信息
const arr2=['我是',',我的签名是',',我的成绩是',',我的等级是']
let self_str1=""
for(let i=0;i<4;++i)
{
  self_str1+=arr2[i]
  self_str1+=arr1[i]
}
self_str1+='。'
console.log(self_str1)
/*方法2,使用模板字符串进行拼接*/
let self_str2=`我是${dotcpp_user.nickName},我的签名是${dotcpp_user.signature},我的成绩是${dotcpp_user.grade},我的等级是${dotcpp_user.degree}。`
console.log(self_str2)

模板字符串主要应用在动态生成HTML内容上。比如我们需要动态生成HTML内容:

// Dotcpp_user用户构造函数
function DotcppUser(nickName, signature, grade, degree) {
  this.nickName = nickName;
  this.signature = signature;
  this.grade = grade;
  this.degree = degree;
}
// 批量生成用户
const user1 = new DotcppUser("dotcpp_user01", "勤学苦练", 100, 'P1')
const user2 = new DotcppUser("dotcpp_user02", "勤学苦练", 100, 'P1')
const user3 = new DotcppUser("dotcpp_user03", "勤学苦练", 100, 'P1')
const users = [user1, user2, user3];
const str = users.map(user => `
    <h3>${user.nickName}</h3>
    <p>个性签名:${user.signature}</p>
    <p>成绩:${user.grade}</p>
    <span>等级:${user.degree}</span>
`).join('');
document.querySelector('body').innerHTML=str

总结:学会使用模板字符串,我们可以更高效快速地进行字符串拼接。模板字符串主要应用于动态生成HTML,读者需要熟练地掌握它。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)