问题标签 [template-strings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2313 浏览

javascript - 尝试使用标记的模板字符串会给出“未捕获的语法错误:意外的令牌”

我在以下代码中使用标记的模板字符串

但它给了

Uncaught SyntaxError: Unexpected token ...(...)

function tag(strings, ...values) {

0 投票
3 回答
42493 浏览

javascript - 模板字符串作为对象属性名称

为什么 JavaScript 不允许模板字符串作为对象属性键?例如,当我输入:

进入 NodeJS REPL,它会抛出一个SyntaxError带有“意外模板字符串”的长堆栈跟踪。然而,属性值很好,这并不出人意料。类似的错误发生在浏览器中,例如,Firebug 抛出一个SyntaxError带有“invalid property id”的错误。

“计算的属性名称”中允许使用模板字符串。例如,这在所有支持语法的浏览器中编译得非常好:

并创建对象{"bar1": "baz"}

为什么不允许模板字符串作为文字对象键?是出于性能原因吗?必须编译模板字符串,可能在运行时(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称。考虑到诸如“熟”模板字符串之类的因素,这似乎会变慢,尽管自 ES5 以来我们已经有了 getter 和 setter。Firefox 没有将此作为错误提及,这就是我发现它出乎意料的原因。将来某个时候会允许使用这种语法吗?

0 投票
1 回答
1540 浏览

node.js - 使用反引号(`)的 Webstorm 字符串模板

我刚刚升级到最新版本的 WebStorm(11.0)。

我在我的代码中要求该语法:

问题是 WebStorm 说:

模块未安装

如果我点击yellow bulb我会得到建议:

安装'`..'

PS之前,当我使用旧版本(10.X-不记得到底是哪个)时,我没有收到任何错误。

0 投票
1 回答
3397 浏览

javascript - 为什么在使用模板字符串时可以不带括号调用函数?

我有一个简单的日志记录功能:

如果我在不带括号的情况下调用它(当前使用 Chrome 的开发工具)并传入一个模板字符串,如下所示:

输出是:logged: ["foo", raw: Array[1]]

如果我用括号调用它,

输出是:logged: foo

为什么在 Javascript 中使用无括号的模板字符串调用函数?发生了什么导致结果与用括号调用它不同?

0 投票
1 回答
292 浏览

javascript - 使用标记模板字符串时,“babelHelpers.taggedTemplateLiteral”在本机反应中未定义

我正在尝试在这样的反应本机应用程序(rn 版本 0.16)中使用标记的模板字符串

我得到异常 - 'babelHelpers.taggedTemplateLiteral' 未定义;

如果我只使用模板字符串,例如:

这是工作。

由于 0.16 rn 移至 babel 6,并且可能不仅仅是 rn 特定的。我检查了打包程序和“babel-plugin-transform-es2015-template-literals”。

任何想法?

0 投票
7 回答
17054 浏览

javascript - ES6 Raw String Access 的实际用途是什么?

String.rawECMAScript 6 中引入的 Raw String Access 的实际用途是什么?

我浏览了以下文档。

http://es6-features.org/#RawStringAccess

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw

http://www.2ality.com/2015/01/es6-strings.html

https://msdn.microsoft.com/en-us/library/dn889830(v=vs.94).aspx

我唯一理解的是,它用于获取模板字符串的原始字符串形式并用于调试模板字符串。

什么时候可以在实时开发中使用?他们称之为标签功能。这意味着什么?

我错过了哪些具体的用例?

0 投票
2 回答
1845 浏览

javascript - 你能将 ES6 模板字符串“简化”为普通字符串吗?

我必须解决gettext识别 ES6 模板字符串的限制,并且我考虑将模板字符串的“非插值”作为编译步骤,以便在代码中只有“正常”字符串。

基本上我想要实现的是改变这个

进入这个

实现这一点的一种残酷方法是使用sed,但它肯定不是更优雅(并且可能也容易出错)

有什么更好更干净的想法吗?

0 投票
1 回答
1053 浏览

javascript - 如何将文件内容解释为模板字符串?

我想知道是否有办法使用从文件中读取的内容作为模板字符串?

例如:我的文件 hello_world.txt :

然后类似(使用nodejs):

使用 eval() 函数似乎是可能的,但我不太喜欢这个解决方案。

谢谢

0 投票
1 回答
2822 浏览

ecmascript-6 - Vue.js 与 es6 模板字符串绑定

为什么我不能在 vue.js 中使用 es6 模板字符串v-bind:style

这有效:

但这默默地失败了:

(我当然知道 es6 浏览器兼容性使用浏览器支持模板字符串)

0 投票
1 回答
20297 浏览

javascript - 如何在 ES6 中嵌套模板字符串?

prefer-template从 eslint 得到一个错误。对于解决方法,我将代码更改为在函数内部使用模板字符串,该模板字符串require嵌套在url函数内部,如下所示:

然而,这显然是一个错误。这是我之前使用的代码,在require函数内部连接一个加号而不是模板字符串。

是否可以定义嵌套的模板字符串?