我使用jslint檢查我的javascript,並且我找到了一個JSLint錯誤,我找不到它。
表達式爲:Javascript在三元表達式中確保值「真」的最佳方式
var foo = (bar === true ? true : false);
的錯誤是:
Expected '!!' and instead saw '?'.
表達的目的是,我想var值是邏輯真,而不是1或「不空」或任何其他「真理」值。只有值爲真纔會導致真實分配
表達這種情況的最佳方式是什麼?
我使用jslint檢查我的javascript,並且我找到了一個JSLint錯誤,我找不到它。
表達式爲:Javascript在三元表達式中確保值「真」的最佳方式
var foo = (bar === true ? true : false);
的錯誤是:
Expected '!!' and instead saw '?'.
表達的目的是,我想var值是邏輯真,而不是1或「不空」或任何其他「真理」值。只有值爲真纔會導致真實分配
表達這種情況的最佳方式是什麼?
的JSLint被提示如下,爲x?true:false
被equvivalent到!!x
:
var foo = !!(bar === true);
但是您可以更簡化它,如===
總是返回一個布爾值:
var foo = bar === true;
如果bar
是true
,bar === true
將評估爲真。你根本不需要三元組。
謝謝你,我是得太多。現在看來很明顯 –