2011-05-30 65 views

回答

7

!!一個常見的方式是轉換「truthy」或「falsey」變量爲真正布爾值的常用方法。

例如:

var foo = null; 

if (!!foo === true) { 
    // Code if foo was "truthy" 
} 

第一!之後被施加到foo,返回的值是true。再次注意該值使其成爲false,這意味着不輸入if塊內的代碼。

+3

@爲了清楚起見,也許「進入*真正的*布爾值」。 '!! 0'當然是一個* false *布爾值... – lonesomeday 2011-05-30 14:15:45

+0

@lonesomeday:好,趕快,謝謝。 – 2011-05-30 14:16:12

+0

那麼爲什麼不只是'if(foo){}'?這不會也這樣做嗎? – 2011-05-30 14:18:28

8

!!只是雙倍!

!true // -> false 
!!true // -> true 

!!是投東西布爾值

!!{} // -> true 
!!null // -> false