问题标签 [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.
javascript - 尝试使用标记的模板字符串会给出“未捕获的语法错误:意外的令牌”
我在以下代码中使用标记的模板字符串
但它给了
Uncaught SyntaxError: Unexpected token ...(...)
上function tag(strings, ...values) {
javascript - 模板字符串作为对象属性名称
为什么 JavaScript 不允许模板字符串作为对象属性键?例如,当我输入:
进入 NodeJS REPL,它会抛出一个SyntaxError
带有“意外模板字符串”的长堆栈跟踪。然而,属性值很好,这并不出人意料。类似的错误发生在浏览器中,例如,Firebug 抛出一个SyntaxError
带有“invalid property id”的错误。
“计算的属性名称”中允许使用模板字符串。例如,这在所有支持语法的浏览器中编译得非常好:
并创建对象{"bar1": "baz"}
。
为什么不允许模板字符串作为文字对象键?是出于性能原因吗?必须编译模板字符串,可能在运行时(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称。考虑到诸如“熟”模板字符串之类的因素,这似乎会变慢,尽管自 ES5 以来我们已经有了 getter 和 setter。Firefox 没有将此作为错误提及,这就是我发现它出乎意料的原因。将来某个时候会允许使用这种语法吗?
node.js - 使用反引号(`)的 Webstorm 字符串模板
我刚刚升级到最新版本的 WebStorm(11.0)。
我在我的代码中要求该语法:
问题是 WebStorm 说:
模块未安装
如果我点击yellow bulb
我会得到建议:
安装'`..'
PS之前,当我使用旧版本(10.X-不记得到底是哪个)时,我没有收到任何错误。
javascript - 为什么在使用模板字符串时可以不带括号调用函数?
我有一个简单的日志记录功能:
如果我在不带括号的情况下调用它(当前使用 Chrome 的开发工具)并传入一个模板字符串,如下所示:
输出是:logged: ["foo", raw: Array[1]]
如果我用括号调用它,
输出是:logged: foo
为什么在 Javascript 中使用无括号的模板字符串调用函数?发生了什么导致结果与用括号调用它不同?
javascript - 使用标记模板字符串时,“babelHelpers.taggedTemplateLiteral”在本机反应中未定义
我正在尝试在这样的反应本机应用程序(rn 版本 0.16)中使用标记的模板字符串
我得到异常 - 'babelHelpers.taggedTemplateLiteral' 未定义;
如果我只使用模板字符串,例如:
这是工作。
由于 0.16 rn 移至 babel 6,并且可能不仅仅是 rn 特定的。我检查了打包程序和“babel-plugin-transform-es2015-template-literals”。
任何想法?
javascript - ES6 Raw String Access 的实际用途是什么?
String.raw
ECMAScript 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
我唯一理解的是,它用于获取模板字符串的原始字符串形式并用于调试模板字符串。
什么时候可以在实时开发中使用?他们称之为标签功能。这意味着什么?
我错过了哪些具体的用例?
javascript - 你能将 ES6 模板字符串“简化”为普通字符串吗?
我必须解决gettext
识别 ES6 模板字符串的限制,并且我考虑将模板字符串的“非插值”作为编译步骤,以便在代码中只有“正常”字符串。
基本上我想要实现的是改变这个
进入这个
实现这一点的一种残酷方法是使用sed
,但它肯定不是更优雅(并且可能也容易出错)
有什么更好更干净的想法吗?
javascript - 如何将文件内容解释为模板字符串?
我想知道是否有办法使用从文件中读取的内容作为模板字符串?
例如:我的文件 hello_world.txt :
然后类似(使用nodejs):
使用 eval() 函数似乎是可能的,但我不太喜欢这个解决方案。
谢谢
ecmascript-6 - Vue.js 与 es6 模板字符串绑定
为什么我不能在 vue.js 中使用 es6 模板字符串v-bind:style
这有效:
但这默默地失败了:
(我当然知道 es6 浏览器兼容性使用浏览器支持模板字符串)
javascript - 如何在 ES6 中嵌套模板字符串?
我prefer-template
从 eslint 得到一个错误。对于解决方法,我将代码更改为在函数内部使用模板字符串,该模板字符串require
嵌套在url
函数内部,如下所示:
然而,这显然是一个错误。这是我之前使用的代码,在require
函数内部连接一个加号而不是模板字符串。
是否可以定义嵌套的模板字符串?