$ {variable}用法没有在javascript中转义字符串?

时间:2015-03-23 10:40:24

标签: javascript

我今天有一个问题。

我正在观看Brendan Eich关于javaScript的讨论,其中我看到了一段代码:

var food = 'a delicious potato';
console.log('I would really love ${food} for lunch.');
//outputs 'I would really love a delicious potato for lunch'

我感兴趣的是 $ {食物} 。我之前从未见过在JavaScript中使用或提到的这个,并且从那以后一直在寻找使用示例无济于事。这似乎令人难以置信地有助于添加变量而不必首先逃避我的字符串(非常适合某些棘手的情况)。

这是ES7的新功能还是什么?如果没有,我应该知道还有其他很酷的小操作技巧吗?如果是,我什么时候可以看到这个支持?

谢谢!

1 个答案:

答案 0 :(得分:0)

看来我指的是template strings,它将成为JavaScript ES6的一部分。目前(2015年3月),这适用于Chrome 41和Mozilla Firefox(gecko)34。以下是上述链接的摘录。

模板字符串是允许嵌入表达式的字符串文字。您可以使用多行字符串和字符串插值功能。

你目前要写的是:

console.log("string text line 1\n\
string text line 2");
// "string text line 1
// string text line 2"

使用多行字符串可以写成:

console.log(`string text line 1
string text line 2`);
// "string text line 1
// string text line 2"

我看到的片段是一种组合:

var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and\nnot ${2 * a + b}.`);
// "Fifteen is 15 and
// not 20."

感谢您提供的有用评论。