我在我的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