我在我的json文件中有一个变量enabled:"false"
,我正在读取ejs文件中的内容变量中的数据。如果ejs中的条件,最佳做法
但是,当我检查的条件:
<% if(content.enabled) { %>
<h1>foo</h1>
<% } %>
的condtion同时适用于"true"
和"false"
,这可能不是检查的正确方法。
if
条件包括==
的正确方法是什么。
什么是最佳实践?只有
我在我的json文件中有一个变量enabled:"false"
,我正在读取ejs文件中的内容变量中的数据。如果ejs中的条件,最佳做法
但是,当我检查的条件:
<% if(content.enabled) { %>
<h1>foo</h1>
<% } %>
的condtion同时适用于"true"
和"false"
,这可能不是检查的正确方法。
if
条件包括==
的正确方法是什么。
什么是最佳实践?只有
你的方法正确,ü可以添加其他条件,也就像
<% if (content.enabled=="true" || content.enabled==true) { %>
<h1>foo</h1>
<% } else { %>
<h1>false content</h1>
<% } %>
,我建议你不要使用boolean
值string
。例如,当您使用"false"
而不是false
时。 JS认识到它是一种真正的价值。在JS中,除了false
,0
,""
,null
,undefined
和NaN
以外,所有的值都是真值。所以当你说enabled:"false"
时,这是事实。
有关详细信息truthy值检查this。
对于你的问题;在JSON中设置你的变量像;
{ "enabled" : false }
和您的代码将工作。
而作为比较,我建议严格平等===
,因为它也是比较值类型。例如;
0 == false //returns true
0 === false //returns false
你可以找到详细信息here。
感谢您的解释,我会尝试更新我的JSON。 – bhansa
它适用于true和false,所以在这种情况下,它会去if和print'foo',我已经在我的问题中提到过了。 – bhansa
编辑答案,这是你要找的那个? – Santhoshkumar