2016-01-15 13 views
2

我使用jslint檢查我的javascript,並且我找到了一個JSLint錯誤,我找不到它。
表達式爲:Javascript在三元表達式中確保值「真」的最佳方式

var foo = (bar === true ? true : false); 

的錯誤是:

Expected '!!' and instead saw '?'. 

表達的目的是,我想var值是邏輯真,而不是1或「不空」或任何其他「真理」值。只有值爲真纔會導致真實分配

表達這種情況的最佳方式是什麼?

回答

6

的JSLint被提示如下,爲x?true:false被equvivalent到!!x

var foo = !!(bar === true); 

但是您可以更簡化它,如===總是返回一個布爾值:

var foo = bar === true; 
+0

謝謝你,我是得太多。現在看來很明顯 –

2

如果bartrue,bar === true將評估爲真。你根本不需要三元組。

相關問題