2017-07-20 24 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