问题标签 [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 - 如何在函数的参数中使用可变字符串值来表示 Javascript 对象?
老实说,我上周一直在寻找这个。我怀疑我不知道要使用的正确搜索词,或者我要问的可能是不可能的。不过,这似乎是一个常见的用例,所以它可能是前者。
我正在创建一个页面,用户可以在其中从下拉菜单中选择他们的产品以查看软件要求。我们有大量不同的可能产品,它们都有相似的需求——所以我们希望在它们之间重用值。
我对 JavaScript 非常陌生,并且发现模板文字非常有用。也许我过度使用它们是因为它们易于理解,但我也希望在这里使用它们。
为了简化这一点,我以“杯子”而不是软件/硬件为例。
首先,我们有我们的各种属性:
然后我为每个产品都有一个变量,例如:
最后,一个函数以我想要的格式返回我的所有变量:
当我打电话时tableTemplate(simple)
,我得到一个 HTML 表格,其中填写了我的所有属性。
然后,我有一个包含每种可能产品的下拉菜单。菜单值对应于常量名,所以:
现在,我将一一进行,并tableTemplate
为每个选择手动调用该函数:
(等等,但对于 25 种产品变体)。
我希望能够做这样的事情,但不能
但是虽然我还没有找到如何做的答案,但我笨拙的搜索告诉我我不能这样做,因为我指向一个值(“简单”)而不是一个引用(const simple = { }) (我认为?)
有解决方法吗?
使用模板文字以外的东西会更好吗?
这是一个带有示例的 JSFiddle:https ://jsfiddle.net/cwow123/voq6dvt9/
javascript - 递归 .replace 中的变量用正则表达式替换
对于语法校正程序,我必须使用 28 种不同的RegExp
.
所以我做了一个简单的for
函数来一起处理所有的更正。
但是在这些 RegExp 中,我有 2 个冗余模式我想用作变量。
非工作示例:
我怎样才能正确地做到这一点?
我找到了一些解决方案,但更适用于一个RegExp
需求。
谢谢 :)
javascript - 关于意外字符串连接的 ESLint 错误
我有以下内容:
Eslint
拒绝我的代码说:
建议使用模板文字而不是字符串连接。(首选模板)
以上有什么问题?
node.js - 使用变量构建嵌套对象的动态 MongoDB/Mongoose 查询
我的应用程序有 4 个相同的 Node/Express API 路由,用于删除 MongoDB 数据库中的嵌套对象属性。这 4 条路由在语法上的唯一区别是字符串值(“facebook”、“google”、“twitter”或“github”。这是四种路由之一:
我的目标是通过在 Express 路由的 URL 上添加一个参数,将这四个路由重构为一个端点,该参数将成为代表四种社交媒体帐户类型之一的字符串变量。该路线的重点是动态确定要在 MongoDB用户文档中的authProviders对象中$unset(删除)哪个社交媒体帐户属性。
我尝试构建 MongoDB 查询以使用 ES6 模板文字访问必要的对象属性,但是我收到一个错误:"SyntaxError: Unexpected template string"。
下面是我尝试使用 ES6 模板文字和社交媒体变量重构为单一端点的代码:
这是 MongoDB 文档:
关于如何使这项工作的任何想法?我似乎无法弄清楚如何构造 MongoDB 查询以使用变量访问对象属性。
javascript - 数组字面量:此类型不能强制转换为字符串
我有一个对象
我想在模板文字中使用它,因为我的用例但出现错误,假设我们使用模板文字记录这个数组
我们会得到这个错误
我如何在模板文字中使用数组的任何替代解决方案?
这是我的用例我有一个查询
但它被转换为[Object Object]
. 我知道有一些限制,所以如果你可以请提出一个更好的解决方案?
这是我的 where 对象
javascript - 在 Typescript 中嵌套模板字符串
我正在尝试从对象中检索变量。
我唯一的问题是我不知道“testcolumn”是什么,因为我正在动态地执行此操作。我不确定该怎么做,我尝试的嵌套模板字符串策略将无法编译。
我也试过只使用变量名而不是嵌套模板字符串,但这只是在对象中查找不存在的 varString 值。有什么方法可以使用嵌套文字将字符串值替换为模板文字,并且它仍然查找 row.testcolumn 而不是 row.varString?
three.js - 是否可以消除three.js 着色器中引号和逗号的麻烦?
例如,在 Flash (Actionscript) 中,我可以摆脱每行着色器代码 (AGAL) 中的双引号和加号,只需使用 CDATA 就可以像这样左对齐代码:
在three.js(Javascript)中是否可以以类似的方式摆脱每行的两个引号和逗号?
我尝试了以下方法,但它不起作用:
难道我做错了什么?有解决办法吗?如今,为了被框架理解,仍然必须在每行代码中使用愚蠢的双引号、逗号等,这确实令人分心、耗时且令人尴尬。它应该比这更聪明,程序应该让我们的生活更轻松,而不是更困难!
javascript - 如何在定义 sessionStorage 键时使用 ES6 模板文字
我正在尝试使用 ES6 模板文字语法来设置 sessionStorage,其中部分键是活动选项卡 ID。
我首先尝试将 ES6 模板文字放入方法中:
但这不会编译。
接下来我在我的方法中创建了一个常量,然后在 sessionStorage 方法中引用它:
我不确定什么是正确的语法,但都失败并出现了错误:
我的目标是有一种方法来动态检查存储以查看它们是否存在密钥,如果不存在则设置它。
除了高级理解之外,我对 sessionStorage 并不熟悉。我知道键和值必须是字符串。
我正在使用 React 和 Redux
javascript - 在 Function 构造函数中为 ES6 模板文字设置上下文?
我的应用程序获取资源字符串 + 占位符标记的列表,它应该使用给定值更改标记。
这种资源的一个例子是:"http://example.com/?name=${name}&age=${age}";
(我在一个数组中得到了很多这样的东西,但这不相关)。
所以现在我有了这个^ 字符串并且有了值。所以我需要生成消化后的字符串。
当然我可以使用eval
:
这行得通。但我不想使用eval
.
所以我改用其他方法new Function()()
:
这产生了函数:
所以现在我可以做:
但是现在我需要在内部函数中分解,obj
以便模板文字知道值
顺便说一句 - 我试过这个 - 没有成功:
问题
如何obj
在内部函数中展平,以便${}
具有已知的局部值?
注意,我不喜欢使用正则表达式解决方案,因为模板文字中有换行符。此外,这些资源有意采用 es6 模板字符串的格式。
javascript - 获取变量以在 JavaScript 字符串中使用以收集 API 数据
我正在尝试连接到 API。通过使用静态字符串执行此操作,它可以正常工作,但是当我使用变量执行此操作时,它似乎不起作用。
这就是我的代码的样子:
因此,当我将其删除${movie}
并替换'taken'
为字符串时,它可以正常工作。