【问题标题】:What are the limitations of using backtick enclosed string with variables in it in Javascript [duplicate]在Javascript中使用带有变量的反引号括起来的字符串有什么限制[重复]
【发布时间】:2019-04-29 17:15:51
【问题描述】:

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

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

我不太清楚如何搜索这个,所以我只看到有人用这个:

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

我没见过有人用这个,所以我想知道,有什么缺点? 因为这似乎是编写带有变量的字符串的更简洁的方式。我的意思是,在这个例子中它可能看起来有点傻,但是如果你有带有多个重复变量的长字符串,那么这比使用 @987654323 更具可读性@一直都是。

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

【问题讨论】:

  • 它被称为模板字面量。
  • ` 字符是一个反引号。 ~ 字符是波浪号。
  • @JonasWilms 有缺点.. 检查接受的答案。这就是我问的原因
  • 对不起,如果您还发布了诸如“太久没有阅读”之类的内容,您为什么要赞扬并将我的问题标记为重复。. 这不是本网站的使用方式..如果您懒得看我的问题,请不要回答,尤其是如果您的答案不正确且信息有误..
  • @JonasWilms 删除了你的评论,很好.. gj

标签: javascript


【解决方案1】:

你真的在谈论两个不同的东西:字符串的连接和 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

【讨论】:

  • 谢谢,这正是我想知道的。
  • 这是我的荣幸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2020-08-27
  • 2018-02-11
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多