2017-07-20 26 views
0

我在我的json文件中有一个变量enabled:"false",我正在读取ejs文件中的内容变量中的数据。如果ejs中的条件,最佳做法

但是,当我检查的条件:

<% if(content.enabled) { %> 
    <h1>foo</h1> 
<% } %> 

的condtion同时适用于"true""false",这可能不是检查的正确方法。

if条件包括==的正确方法是什么。

什么是最佳实践?只有

回答

0

你的方法正确,ü可以添加其他条件,也就像

<% if (content.enabled=="true" || content.enabled==true) { %> 
    <h1>foo</h1> 
<% } else { %> 
    <h1>false content</h1> 
<% } %> 
+0

它适用于true和false,所以在这种情况下,它会去if和print'foo',我已经在我的问题中提到过了。 – bhansa

+0

编辑答案,这是你要找的那个? – Santhoshkumar

1

,我建议你不要使用booleanstring。例如,当您使用"false"而不是false时。 JS认识到它是一种真正的价值。在JS中,除了false0,"",nullundefinedNaN以外,所有的值都是真值。所以当你说enabled:"false"时,这是事实。

有关详细信息truthy值检查this

对于你的问题;在JSON中设置你的变量像;

{ "enabled" : false } 

和您的代码将工作。

而作为比较,我建议严格平等===,因为它也是比较值类型。例如;

0 == false //returns true 
0 === false //returns false 

你可以找到详细信息here

+0

感谢您的解释,我会尝试更新我的JSON。 – bhansa