问题标签 [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 投票
0 回答
73 浏览

javascript - 如何在 ES6 中将纯字符串转换为模板字符串

在 ES6/ES2015 中,我从 JSON 文件中导入字符串:

现在我想将该字符串用作另一个函数中的模板字符串。我能找到的所有文档都会这样做

但我找不到任何关于如何将“普通”字符串转换为模板字符串的信息。

这甚至可能吗?

0 投票
0 回答
89 浏览

string - 为什么 ES6 标记模板字符串不提供原始字符串模板?

在 ES6 中为模板字符串创建标签函数时,该函数需要一个literals参数和一个values参数。

但是,它不提供对原始的、未评估的、解构的模板的访问。像这样的例子:

或者也许是literals.originalTemplate要补充的属性literals.raw

这有什么具体原因吗?我能想到的最好的办法是,如果将变量名传递给标记函数,可能会有一些安全隐患?

0 投票
3 回答
812 浏览

javascript - ES6 标记模板实用性

我了解 ES6标记模板的语法。我看不到的是实际可用性。什么时候比传递对象参数更好,比如jQuery 的 AJAX中的设置?$.ajax('url', { /*this guy here*/ })

现在我只看到棘手的语法,但我不明白我为什么需要/使用它。我还发现 TypeScript 团队选择在其他重要特性之前实现它(在 1.5 中)。标记字符串模板背后的概念是什么?

0 投票
7 回答
30546 浏览

javascript - 模板字符串中的数字格式(Javascript - ES6)

我想知道是否可以在 Javascript 模板字符串中格式化数字,例如:

或者可能

该语法显然不起作用,它只是我正在寻找的事物类型的说明。

我知道像sprintffrom这样的工具underscore.string,但这似乎是 JS 应该能够开箱即用的东西,特别是考虑到模板字符串的力量。

编辑

如上所述,我已经知道 3rd 方工具(例如 sprintf)和自定义函数来执行此操作。类似的问题(例如JavaScript 等价于 printf/String.Format)根本没有提到模板字符串,可能是因为在 ES6 模板字符串出现之前就已经问过了。我的问题是 ES6 特有的,并且与实现无关。如果是这种情况,我很高兴接受“不,这是不可能的”的回答,但是最好的是有关提供此功能的新 ES6 功能的信息,或者对此类功能是否存在的一些见解方法。

0 投票
2 回答
139 浏览

javascript - 如何在 div 中附加多行模板字符串?

我有一个模板字符串如下:

我期望的是这个模板代码应该出现在 div 之间。
我在 index.html 中的 div 是:

我触发追加的javascript代码是:

我想要的输出是:

我的输出是:

请建议我一些方法来获得我想要的适当间距和线条。我试过(temp.split('\n')).join('<br>')它以单独的行打印,temp但不能确保适当的间距。像这样:

0 投票
1 回答
247 浏览

javascript - ES2015 模板字符串不解析

我正在尝试在我的开发中开始使用 ES6/ES2015 功能,并尝试使用模板字符串来代替串联。

我有一个名为的文件meteor.jsx,其中包含以下代码。

如果我用实际坐标调用它

它不会转换lat或转换lon为字符串,它只是在返回字符串中打印 '${lat}' 和 '${lon}' 。我究竟做错了什么?

0 投票
1 回答
3372 浏览

javascript - 一种缩小或丑化 ES6 模板字符串的方法

就像是

将产生:

我需要的是摆脱多余的空格和换行符,就像所有其他 html 缩小工具一样。

所以它应该类似于:

有什么方法可以明智且坚不可摧地实现这一目标?

0 投票
1 回答
1452 浏览

javascript - 常规字符串和模板字符串之间的性能差异?

我现在使用 ESLint prefer-template来强制自己使用模板字符串而不是字符串连接。

这让我想到是否需要在模板字符串格式上使用常规字符串,例如

我意识到 JSPerf 不是理想的分析工具,但至少在静态字符串的情况下,我无法观察到任何性能损失,例如http://jsperf.com/es-string-vs-template

0 投票
1 回答
210 浏览

javascript - JavaScript ES6 模板字符串的类型不一致

在测试 JavaScript ES6 的新模板字符串时(在 Firefox 中,如果重要的话),我注意到它们的类型有些不一致。

我定义了一个自定义函数,如下所示:

首先,我在模板字符串周围使用括号“正常”地测试了该函数。

正如预期的那样,这产生了一种类型string并被Hello, World!输出到控制台。

然后我调用了函数简写,没有括号,并且出现了不一致。

类型变为object,并Array [ "Hello, World!" ]输出到控制台。

为什么使用第二种方法时模板字符串被包裹在一个数组中?这只是 Firefox 中的一个错误(毕竟 ES6一个新标准)还是出于某种原因预期这种行为?

0 投票
1 回答
13232 浏览

javascript - 不能在 node.js 中使用模板字符串

根据 MDN,模板字符串 应该可以在 Chrome 中工作,并且通过 Node.js 所基于的扩展 V8;但是当我尝试以下操作时,出现语法错误:

运行node file.js只会导致SyntaxError: Unexpected token ILLEGAL

是否需要启用某种标志才能使用此功能,或者它根本没有在节点中实现?