使用雙負號!!
而不使用它有什麼區別(在JS中)?if(!!變量)和if(變量)之間的區別?
例如
if (!!variable){...
與if (variable){...
我知道有,我已經得到了使用第二方法的預警時間..
何時應該使用?什麼時候會在控制檯中發出警告? (用於變量,對象,數組等)
謝謝!
使用雙負號!!
而不使用它有什麼區別(在JS中)?if(!!變量)和if(變量)之間的區別?
例如
if (!!variable){...
與if (variable){...
我知道有,我已經得到了使用第二方法的預警時間..
何時應該使用?什麼時候會在控制檯中發出警告? (用於變量,對象,數組等)
謝謝!
指定它有區別,但不適用於條件語句中。使用!!
的原因是因爲第一個!
會將您的變量轉換爲其真實性評估,然後是not
它。所以「你好」變成真,然後被否定,變成假,而第二個!
將否定假,結果是真的。當試圖從一個變量中獲得最終值時,這是可取的。然而,在if語句中做得並不多。
真棒謝謝! 「當試圖獲得真實價值時」是解釋這個問題的好方法。謝謝!我發現在檢查除變量以外的其他東西的存在時使用了這種方法,這是有道理的。 – 2013-04-05 23:56:46
在這種特殊情況下,沒有區別。事實上,!!variable
是浪費。
但是在更一般的情況下,它會將變量轉換爲布爾值。就個人而言,我只在調試時發現它很有用,並且瞭解哪些值是真實的和錯誤的。
http://stackoverflow.com/questions/4686583/can-someone-explain-this-double-negative-trick基本上它將它轉換成布爾值。 – smerny 2013-04-05 23:52:40