【发布时间】:2018-06-07 19:17:36
【问题描述】:
有没有办法访问 javascript 模板字符串引擎来为未定义的变量提供默认值?
console.log(`this variable is undefined: ${x}`)
// throws ReferenceError
// but i want to generate something like this:
"this variable is undefined: <warning! undefined variable>"
这样也行:
function tag(strings,...values){
// values[i] should be "undefined" if this variable is undefined
}
tag`${x}`
如果那不可能,是否有一个模板字符串引擎可以完全实现 javascript 的功能并具有此功能?
【问题讨论】:
-
它不叫“模板字符串引擎”,它只是一个模板引擎。去吧。
-
字符串插值不能解决参考错误。为什么你的代码有时定义了
x,有时没有? -
@Bergi 因为我正在编写代码生成器
-
但是
x不是模板字符串的一部分?是的,听起来您确实在寻找模板引擎而不是任意字符串插值(用户在其中编写 JS 代码)。 -
是的,这正是模板文字所做的:字符串插值。
x是一个任意的 JavaScript 表达式,而不是“名称”。
标签: javascript template-strings