问题标签 [template-literals]
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 - 基于模板变量的 ES6 模板文字
我尝试渲染一个 ES6 模板文字变量:
是否存在将具有上下文的字符串模板转换为具有 ES6 模板文字功能的格式化字符串的方法?
json - 多行字符串的 JSON 和模板文字
我想在 JSON 文件中存储一些 sql 字符串。这就是 JSON 文件在我的理想世界中的样子
明显的限制是 JSON 和 javascript 不支持多行字符串。
我想避免这样做:
我看到一个人这样做,这也不理想:
然后在他使用的解释器程序中myMultilineStringInArrayForm.join("\n")
。
我想知道是否有人有任何关于模板字符串工作(或计划在未来工作)用于此目的的信息,如下所示:
请注意,我在 ES6 的 Template Literals 中使用了反引号 ( `
),显然变量的插值不适用于存储的 JSON,但我感兴趣的是这个文字的多行特性。
请注意,这个问题类似于这个 6 岁的问题:Multiline strings in JSON
我再次问,因为我想知道`
从那时起语法是否已经计划好或已经工作了。
我很感激这方面的帮助
javascript - 将 ES6 unicode 文字与 ES6 模板文字相结合
如果我想在 ES6/ES2015 javascript 中打印一个 unicode 汉字,我可以这样做:
同样,如果我想将变量插入到模板字符串文字中,我可以这样做:
但是,我似乎无法将两者结合起来打印一个列表,例如 40 个连续的 unicode 汉字。这不起作用:
所以我问是否有任何可能的方法。
javascript - javascript console.log 带有“原始”的新功能?
我遇到过这个例子并且完全迷失了......
首先这一切都是有效的,在console.log中,它似乎是
就像函数被执行并且有额外的raw
?有人可以解释一下吗?
javascript - 将 cookie 的值设置为模板文字?
我正在创建一个模板文字,如下所示:
然后在我的 Koa 应用程序中,我正在做:
显然它不喜欢多行字符串,因为它给出了这个错误:
TypeError:参数值无效
有没有办法解决?在我的情况下,保持空白格式是非常必要的。
javascript - es6 多行模板字符串,没有新行并允许缩进
这些天来,在大多数工作中越来越多地使用 es6。一个警告是模板字符串。
我喜欢将我的行字符数限制为 80。因此,如果我需要连接一个长字符串,它可以正常工作,因为连接可以是多行,如下所示:
但是,尝试使用模板文字执行此操作只会给您一个多行字符串,其中 ${insert} 将 dog 放在结果字符串中。当您想将模板文字用于 url 汇编等时,这并不理想。
我还没有找到保持行字符限制并仍然使用长模板文字的好方法。有人有什么想法吗?
标记为已接受的另一个问题只是部分答案。下面是我之前忘记包含的模板文字的另一个问题。
使用换行符的问题是它不允许缩进而不在最终字符串中插入空格。IE
结果字符串如下所示:
总的来说,这是一个小问题,但如果有一个允许多行缩进的修复程序会很有趣。
javascript - 模板文字语法在 IE11 中不起作用
在其他浏览器(例如 Chrome)中使用“use strict”指令时,反引号字符在 IE11 中不会被识别为有效字符。
考虑到即使在 Windows 10 用户中仍然广泛使用 IE11,对这种行为的解释是什么?
错误:{“消息”:“无效字符”、“文件名”:“ http://stacksnippets.net/js ”、“lineno”:18、“colno”:17 }
javascript - 模板文字和字符串插值作为 javascript 方法
所以我目前有一个weatherAPI,它将返回一个图标代码,它是一个字符串,并以数字、、、、等开头02d
。01d
现在,我想做的是根据图标代码动态拉入一个react svg组件。让我解释一下我是如何尝试这样做的,然后你可以看看是否有更好的方法来处理这个问题。01n
04d
为简单起见,我将 API 的响应向下传递到dumb component
. 然后我创建了一个文件夹weatherIcons
,其中包含我所有的 svg 组件:
在我的DumbComponent.js
我需要我所有的 svg 组件通过位于weatherIcons
文件夹下的索引文件,如下所示:import * as Icon from '../common/svg/weatherIcons';
index.js
文件夹内的文件weatherIcons
将提供每个组件,例如:
这使我可以将这些文件称为我DumbComponent.js
喜欢的方法中的方法:Icon.01d()
. 然后这将返回src/components/weatherIcons/01d.js'. As you know though, this WON'T actually return that file, because a method cannot start with an integer and thus my dilemma. Nor can I give a name of
01d ,
02d ,
01n like I did in my
weatherIcons/index.js 文件中的 svg 组件。
我的想法是给他们一个以字符开头的名称间距:
然后尝试将 api 响应中的代码作为函数插入。Icon.code${apiRESPONSE}()
. 有关如何完成此操作的任何想法或针对当前情况的任何其他解决方法。
附言。我已经研究过react-svg
和其他 svg 导入器,并且更喜欢不采用将 svg 导入为 html 并通过路径的方法。
javascript - 将字符串分隔符更改为反引号:可能的影响?
ES6 引入了由反引号分隔的模板字符串`
。
在哪些情况下,用反引号替换字符串周围的单引号'
或双"
引号会产生不同的结果,或者是不安全的?
代码中现有反引号的转义是操作的一部分。
我知道任何包含的字符串${...}
都会失败,因为它会被(错误)解释为占位符。还有其他相关模式吗?
上下文:这是用于开发一个自动处理输入代码的JS压缩工具。后者及其包含的字符串是用户提供的,因此我无法控制其内容。唯一可以做出的假设是它是有效的 Javascript。
执行环境可以通过任何最近的浏览器或 Node.js。