2016-11-20 29 views
2

我嘗試提交下列代碼eslint冗餘雙如何改變有效

if(!!obj){ 

... 

} 

冗餘雙錯誤,我該如何解決? 爲什麼我現在得到它...

+0

有點毛病'如果(OBJ)' – Keith

+0

@Keith - 對不起不知道,我得到它,如果不(OBJ)是完全一樣的? –

+0

相關:[使用雙非操作符(!!)布爾類型鑄造](https://www.bennadel.com/blog/1784-using-double-not-operator-for-boolean-type-casting.htm ) –

回答

1

ESLint給你的警告!是多餘的。

如果條件將強制條件轉換爲布爾值,則if條件爲true或false。所以你最終告訴javascript引擎要做的是強制布爾真/假,然後不是值,然後再不是值,只能得到原始強制值。

但是說這一切都是雙重的,並不總是多餘的。例如,說你在一個對象中存儲數據,並說你想強制一個布爾存儲器,你可以!!重視它。

有時我甚至只是用它來檢查從控制檯返回的真假。 !!'' = false分別爲!!'0' = true!!0 = false等。