在 JSON (discord.js) 中使用模板文字
Using template literals in JSON (discord.js)
我有这个 JSON 对象:
"question": "The question, asked by ${users[index]}, was: \n\n${questions[index]}."
在名为 "config.json" 的文件中。在名为 "app.js" 的单独文件中,我有这行代码:
message.channel.send(config.question);
当代码运行时,message.channel.send(config.question)
输出:
The question, asked by ${users[index]}, was:
${questions[index]}.
有什么方法可以将 ${users[index]}
和 ${questions[index]}
视为模板文字吗?本质上我希望输出是这样的:
The question, asked by Steve, was:
Hello world!.
(假设 users[index] == "Steve"
和 questions[index] == "Hello World!"
)
我四处寻找答案,但他们都开始使用额外的 Javascript 或者说这是不可能的。那么,如果不可能的话,为什么会这样呢?:
message.channel.send("The question, asked by ${users[index]}, was: \n\n${questions[index]}");
输出:
The question, asked by Steve, was:
Hello world!.
要在 JavaScript 中进行字符串插值,您需要对字符串文字使用反引号 (`)。
例如:
`The answer is ${myVar}!`
会将 myVar
插入到您的字符串中。
这可行:
message.channel.send(eval('`'+config.question+'`'))
我有这个 JSON 对象:
"question": "The question, asked by ${users[index]}, was: \n\n${questions[index]}."
在名为 "config.json" 的文件中。在名为 "app.js" 的单独文件中,我有这行代码:
message.channel.send(config.question);
当代码运行时,message.channel.send(config.question)
输出:
The question, asked by ${users[index]}, was:
${questions[index]}.
有什么方法可以将 ${users[index]}
和 ${questions[index]}
视为模板文字吗?本质上我希望输出是这样的:
The question, asked by Steve, was:
Hello world!.
(假设 users[index] == "Steve"
和 questions[index] == "Hello World!"
)
我四处寻找答案,但他们都开始使用额外的 Javascript 或者说这是不可能的。那么,如果不可能的话,为什么会这样呢?:
message.channel.send("The question, asked by ${users[index]}, was: \n\n${questions[index]}");
输出:
The question, asked by Steve, was:
Hello world!.
要在 JavaScript 中进行字符串插值,您需要对字符串文字使用反引号 (`)。
例如:
`The answer is ${myVar}!`
会将 myVar
插入到您的字符串中。
这可行:
message.channel.send(eval('`'+config.question+'`'))