在ES6之前,模板文字被称为模板字符串。 与字符串中的引号不同,模板文字用反引号(` )字符(QWERTY键盘中ESC键下方的键)括起来。 模板文字可以包含占位符,由美元符号和大括号($(expression})表示。在反引号内,如果要使用表达式,则可以将该表达式放置在($(expression})中。
语法

  1. let str = `string value`;

1. 多行字符串

在普通字符串中,需要使用转义序列\n来换行以创建多行字符串。 但是,在模板文字中,不需要使用\n,因为字符串仅在返回backtick(`)字符时结束。
我们可以通过以下示例来理解。
示例

  1. console.log('Without template literal \n multiline string');
  2. console.log(`Using template literal multiline string`);

运行结果如下:

  1. Without template literal
  2. Using template literal

2. 字符串插值

ES6模板文字支持字符串插值。 模板文字可以使用占位符进行字符串替换。 要使用普通字符串嵌入表达式,必须使用${}语法。
示例1

  1. let name = 'World';
  2. let cname = 'XNTutor';
  3. console.log(`Hello, ${name}! Welcome to ${cname}`);

运行结果如下:

  1. Hello, World! Welcome to XNTutor

示例2

  1. let x = 10;
  2. let y = 20;
  3. console.log(`The product of the variables ${x} and ${y} is: ${x*y}`);

运行结果如下:

  1. The product of the variables 10 and 20 is: 200