JavaScript 字符串模板
同义词:
- Template Literals
- Template Strings
- String Templates
- Back-Tics 语法
插值
模板字面量提供了一种将变量和表达式插入字符串的简单方法。
该方法称为字符串插值(string interpolation)。
语法
${...}
变量替换
模板字面量允许字符串中的变量:
实例
let firstName = "John";
let lastName = "Doe";
let text = `Welcome ${firstName}, ${lastName}!`;
用真实值自动替换变量称为字符串插值。
表达式替换
模板字面量允许字符串中的表达式:
实例
let price = 10;
let VAT = 0.25;
let total = `Total: ${(price * (1 + VAT)).toFixed(2)}`;
用真实值自动替换表达式称为字符串插值。
HTML 模板
实例
let header = "Templates Literals";
let tags = ["template literals", "javascript", "es6"];
let html = `<h2>${header}</h2><ul>`;
for (const x of tags) {
html += `<li>${x}</li>`;
}
html += `</ul>`;
浏览器支持
Internet Explorer 不支持模板字面量。
第一个完全支持模板字面量的浏览器版本是:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 13 | Firefox 34 | Safari 10 | Opera 29 |
2015 年 3 月 | 2015 年 11 月 | 2014 年 12 月 | 2016 年 9 月 | 2015 年 4 月 |