存储为常量的模板字符串
Template strings stored as constants
我有一个模板字符串:
function getTemplateString () {
let videoId = 'qwerty'
return `https://player.vimeo.com/video/${videoId}?api=1`
}
我想将此模板字符串存储在const
中:
const VIMEO_EMBED_URL = `https://player.vimeo.com/video/${videoId}?api=1`
function getTemplateString () {
let videoId = 'qwerty'
// how can I do this next line?
return VIMEO_EMBED_URL.something({videoId: videoId})
}
我可以对常量进行字符串插值吗?
模板字符串无法存储,它们在定义时返回字符串。所以我想你正在寻找一个正则表达式。
function getTemplateString (url, value) {
return url.replace(/'${video1}/g, value)
}
其他选项可能是应用模板的函数:
function getTemplateString (videoId) {
return `https://player.vimeo.com/video/${videoId}?api=1`
}
请注意,反引号引号嵌套在常规引号中。
const VIMEO_EMBED_URL = "`https://player.vimeo.com/video/${videoId}?api=1`";
function getTemplateString() {
let videoId = 'qwerty';
return eval(VIMEO_EMBED_URL);
}
document.write(getTemplateString());
我知道不推荐许多 eval
,可能包括这个。(它们引入了可能的安全问题等)但是,eval
是该语言的一部分,一些JavaScript专家有时会讨论如何使用它。
这个答案确实解决了问题中提出的问题,并且确实允许编码人员将模板字符串的便捷语法和将其存储在const
中的持久性结合起来。只要明白这是"用户当心"。
相关文章:
- 为什么Javascript程序员更喜欢在代码中重复字符串作为常量,而不是使用枚举类型的对象
- 未终止的字符串常量JavaScript
- SCRIPT1015:加载字符串时未终止的字符串常量
- Javascript 代码上的未终止字符串常量
- 仅 IE 9 出现未终止字符串常量错误
- 消息:未终止的字符串常量
- 节点.js计划执行中的字符串常量
- Salesforce JavaScript未终止字符串常量错误
- 由于ES2015模板文字导致的Webpack错误-“;未终止的字符串常量“;
- 带有if-else的未终止字符串常量
- 处理javascript中未终止的字符串常量
- 需要一种方法来提取字符串常量从源代码
- 添加由于未终止字符串常量错误而无法工作的行
- IE10(在兼容模式下)在有效代码上生成SCRIPT1015:未终止字符串常量错误
- 无终止字符串常量语法
- 字符串常量和 JSON 处理
- 序列化json字符串时出现未终止字符串常量错误
- 如何在JavaScript中声明字符串常量
- Struts未终止字符串常量调用JS函数错误
- 意外字符串常量