我知道在 PHP 中我们可以做这样的事情:
$hello = "foo"; $my_string = "I pity the $hello";
输出:"I pity the foo"
"I pity the foo"
我想知道在 JavaScript 中是否也可以做到同样的事情。在字符串中使用变量而不使用连接——看起来更简洁、更优雅。
您可以利用模板文字并使用以下语法:
`String text ${expression}`
模板文字用 反引号 () (重音)而不是双引号或单引号括起来。
此功能已在 ES2015 (ES6) 中引入。
例子
var a = 5; var b = 10; console.log(`Fifteen is ${a + b}.`); // "Fifteen is 15.
这有多整洁?
奖金:
它还允许在 javascript 中使用多行字符串而无需转义,这对于模板非常有用:
return ` <div class="${foo}"> ... </div> `;
浏览器支持 :
由于旧版浏览器(主要是 Internet Explorer)不支持这种语法,您可能需要使用Babel /Webpack 将代码转换为 ES5 以确保它可以在任何地方运行。
边注:
从 IE8+ 开始,您可以在内部使用基本的字符串格式console.log:
console.log
console.log('%s is %d.', 'Fifteen', 15); // Fifteen is 15.