Javascript 将文本指定给字符串内的变量
我正在将字符串保存到mongoDB中,预设变量为Javascript 将文本指定给字符串内的变量,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在将字符串保存到mongoDB中,预设变量为 'Current time is ${time}' 在此之后,我将在其他地方检索此字符串,并希望为time 它看起来像这样 const time = '15:50' const response = result //saves string retreived from mongo res.json({ response: response }) 但是它返回的是“当前时间是${time}”,而不是“当前时间是15:50” 我
'Current time is ${time}'
在此之后,我将在其他地方检索此字符串,并希望为time
它看起来像这样
const time = '15:50'
const response = result //saves string retreived from mongo
res.json({
response: response
})
但是它返回的是“当前时间是${time}”
,而不是“当前时间是15:50”
我知道字符串应该在``中,而不是单引号中,变量才能工作,但不知道如何将其作为mongo的输出实现
任何人都可以告诉我正确的方向吗?这是一个插值魔法的例子,如其他答案中所述;)请注意,即使没有
evil()
;)
var时间='15:50'
var response='当前时间为${time}'
var converted=(=>(新函数(`return\`${response}\`;`))())
console.log(已转换)
,这是插值魔法的一个示例,如其他答案中所述;)请注意,即使没有evil()
;)
var时间='15:50'
var response='当前时间为${time}'
var converted=(=>(新函数(`return\`${response}\`;`))())
console.log(已转换)
不会对恰好包含模板文字占位符的字符串变量执行插值。为了进行插值,代码中必须有一个文字字符串,并用占位符括在后面的记号中:
let time = '15:50';
let message = `Current time is ${time}`
console.log(message); // "Current time is 15:50"
如果必须在数据库中存储字符串,则必须提出自己的插入占位符的机制。不会对恰好包含模板文字占位符的字符串变量执行插入。为了进行插值,代码中必须有一个文字字符串,并用占位符括在后面的记号中:
let time = '15:50';
let message = `Current time is ${time}`
console.log(message); // "Current time is 15:50"
如果必须在数据库中存储字符串,则必须使用自己的机制来插入占位符。另一种方法是将字符串和参数传递给函数,并在参数对象上减少:
var str='当前时间为${time}';
var params={time:'13:30'};
函数合并(str,params){
返回Object.keys(params).reduce((out,key)=>{
返回str.replace(`\${${key}}`,params[key]);
}, '');
}
log(合并(str,params))代码>另一种方法是将字符串和参数传递给函数,并在参数对象上减少:
var str='当前时间为${time}';
var params={time:'13:30'};
函数合并(str,params){
返回Object.keys(params).reduce((out,key)=>{
返回str.replace(`\${${key}}`,params[key]);
}, '');
}
log(合并(str,params))
对于该字符串,您必须使用反勾号而不是简单的引号`
而不是'
:`当前时间为${time}`
它作为单引号中的字符串自动从mongo检索,我知道它一定是反勾号。我想知道是否有任何方法可以转换它。你也可以使用字符串。替换。相关:你必须使用反勾号而不是简单的引号`
而不是'
来表示该字符串:`当前时间是${time}`
它是从mongo自动检索的,以单引号中的字符串形式出现,我知道它一定在反勾中。我想知道是否有任何方法可以转换它。您也可以使用字符串。替换。相关: