我有两把钥匙name
和description
。有些人有价值观,有些人没有价值观,有些则有undefined
。
我试图写一个catch-all if语句,但这似乎并没有起作用。
<% if (name && description || typeof name !== 'undefined' && typeof description !== 'undefined') { %>
<h1><%= name %></h1>
<h2><%= description %></h2>
<% } %>
如果定义了name
和description
,则会进行渲染。如果没有,他们就不会渲染。如果他们设置为未定义,我会收到此错误:
Uncaught ReferenceError: name is not defined
知道我做错了吗?
感谢任何帮助。提前谢谢!
答案 0 :(得分:0)
在尝试将其与typeof一起使用之前,需要将OR运算符(||)更改为AND运算符(&amp;&amp;)以检查名称和描述是否不等于null。
如果您不需要检查变量的类型,并且您只是检查是否定义了名称和描述。您可以将代码简化为:
<% if (name && description) { %>
<h1><%= name %></h1>
<h2><%= description %></h2>
<% } %>