在ES6之前,模板文字被称为模板字符串。 与字符串中的引号不同,模板文字用反引号(`
)字符(QWERTY键盘中ESC键下方的键)括起来。 模板文字可以包含占位符,由美元符号和大括号($(expression})
表示。在反引号内,如果要使用表达式,则可以将该表达式放置在($(expression})
中。
语法
let str = `string value`;
1. 多行字符串
在普通字符串中,需要使用转义序列\n
来换行以创建多行字符串。 但是,在模板文字中,不需要使用\n
,因为字符串仅在返回backtick(`)字符时结束。
我们可以通过以下示例来理解。
示例
console.log('Without template literal \n multiline string');
console.log(`Using template literal multiline string`);
运行结果如下:
Without template literal
Using template literal
2. 字符串插值
ES6模板文字支持字符串插值。 模板文字可以使用占位符进行字符串替换。 要使用普通字符串嵌入表达式,必须使用${}
语法。
示例1
let name = 'World';
let cname = 'XNTutor';
console.log(`Hello, ${name}! Welcome to ${cname}`);
运行结果如下:
Hello, World! Welcome to XNTutor
示例2
let x = 10;
let y = 20;
console.log(`The product of the variables ${x} and ${y} is: ${x*y}`);
运行结果如下:
The product of the variables 10 and 20 is: 200