淺談JavaScript中的“!!”作用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> alert(!!undefined)//false alert(!!null)//false alert(!!0)//false alert(!!"")//fase </script> </head> <body> </body> </html>
js代碼中有時會用到“!”,這個我們知道是取反,對于布爾類型會將其值true和false互換,那對于非布爾類型呢?
對于非布爾類型,js會將值先轉(zhuǎn)換成布爾類型,而后取反。
其他類型轉(zhuǎn)布爾型的規(guī)則:
字符串類型值,會將空值("")轉(zhuǎn)換成false,其余轉(zhuǎn)換成true。
數(shù)字類型,會將0轉(zhuǎn)換成false,其余為true。
null、undefined會轉(zhuǎn)換成false。
因此,對于null、undefined、0、“”都會被轉(zhuǎn)為flase。
說道這里,應(yīng)該就理解了“!!”的含義了,一個!是將對象轉(zhuǎn)為布爾型并取反,兩個!是將取反后的布爾值再取反,相當(dāng)于直接將非布爾類型值轉(zhuǎn)為布爾類型值。
到此這篇關(guān)于淺談JavaScript中的“!!”作用的文章就介紹到這了,更多相關(guān)JavaScript中的“!!”作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript自定義Promise實現(xiàn)流程
現(xiàn)在網(wǎng)上有非常多的Promise文章,但都是給你一堆代碼,或者某些核心代碼,讓你看完之后感覺,嗯,很厲害,但還是不知所云,不知其所以然。那么本文真正從一個小白開始帶你深入淺出,一步一步實現(xiàn)自己的?Promise,這種自己造輪子的過程一定是進步最快的過程,快上車開始吧2022-10-10javascript 實現(xiàn) 秒殺,團購 倒計時展示的記錄 分享
這篇文章介紹了javascript 實現(xiàn) 秒殺,團購 倒計時展示的記錄方法,有需要的朋友可以參考一下2013-07-07使用formatter函數(shù)設(shè)置Echarts的tooltip中動態(tài)單位
這篇文章主要為大家介紹了使用formatter函數(shù)設(shè)置Echarts的tooltip中動態(tài)單位實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07