[英]|| operator not working as expected in EJS
我有这个 EJS 代码:
<link rel="stylesheet" type="text/css" href="/public/stylesheets/<%= css || 'default' %>.css" />
我认为,当css
undefined
,这将评估为"/public/stylesheets/default.css"
,但它会引发错误
css is not defined
为什么? 这是 EJS 的怪癖,还是我误解了什么?
正如VLAZ所说:
它说
css
is not defined而不是undefined
。 两个不同的概念。 如果未定义,则永远不会声明和/或无法从当前和封闭范围访问它。undefined
意味着它被声明但没有赋值给它。
我能够使用customcommander的解决方案解决我的问题:
而不是
css || 'default'
抛出错误,使用
typeof css === 'undefined' ? 'default' : css
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.