ES6(ECMAScript 2015)中引入了模板字符串(template string),也称为反引号字符串(back-tick string)或者标签模板(tagged template)。模板字符串是一种特殊的字符串,允许在其中插入变量值或者表达式,以及跨行定义字符串。
使用模板字符串可以更加方便地进行字符串拼接,减少代码冗余,同时提高代码可读性和可维护性。下面是一些模板字符串的特性:
1、反引号(`):模板字符串使用反引号(`)作为开始和结束标记,与传统的字符串使用单引号(')或双引号(")不同。
2、变量插值:在模板字符串中,通过使用 ${} 语法将变量嵌入到字符串中。
const name = 'Tom';
const age = 20;
console.log(`My name is ${name} and I'm ${age} years old.`);
// 输出:"My name is Tom and I'm 20 years old."
3、表达式插值:除了变量插值,模板字符串还支持插入 JavaScript 表达式 。
const a = 10, b = 20;
console.log(`The sum of ${a} and ${b} is ${a + b}.`);
// 输出:"The sum of 10 and 20 is 30."
在模板字符串中使用 ${} 语法时,可以使用任何合法的 JavaScript 表达式,包括函数调用、条件判断等。
4、跨行定义字符串:在传统的字符串中,如果需要跨行定义字符串,需要用反斜杠(\)或者使用多个字符串拼接。而在模板字符串中,可以直接跨行定义字符串,使得代码更加简洁清晰。
const str = `This is a
multi-line string.`;
console.log(str);
// 输出:"This is a \nmulti-line string."