首页 > 解决方案 > 在Javascript中使用带有变量的反引号括起来的字符串有什么限制

问题描述

我最近发现,可以使用这样的代码(注意反引号,而不是引号):

var test = '123';
var x = `test: ${test}`; // => test: 123

我不太知道如何搜索这个,所以因为我只看到人们使用这个:

var test = '123';
var x = 'test: ' + test; // => test: 123

我还没有看到有人使用它,所以我想知道,有什么缺点?因为这似乎是编写带有变量的字符串的更简洁的方法。我的意思是,在这个例子中它可能看起来有点傻,但是如果你有带有多个重复变量的长字符串,那么这比使用+所有时间。

编辑:这个问题已被标记为重复,但我没有看到我的问题的答案。我不是在问,有什么区别。我在问将来在我的所有代码中使用它有什么缺点。是否有 javascript 或浏览器版本支持,我需要担心吗?

标签: javascript

解决方案


你真的在谈论两个不同的事情:字符串的连接和 ES6 模板文字。

您已经了解字符串连接,但模板文字具有许多其他功能,例如标记模板。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_templates

模板文字的一个缺点是您可能正在为不支持它们的旧浏览器编写:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Browser_compatibility


推荐阅读