1.利用Boolean物件轉換
複製程式碼
程式碼
var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true
2.
利用兩個'!'運算符,第一個'!'將值轉換成布林值並取其值的非值,第二個'!'將其布林值還原,類似於「負負得正」的道理。 複製程式碼
程式碼如下:
var num123 = 123, str = {name:'test'}, num0 = 0; num123 = !!(num123); //true num0 = !!(num0); //false str = !!(str); //true o = !! (o); //true
得到的結果同方法1.
最後要知道
:任意的javascript的值都可以轉換成布林值。以下這些值會轉換成false:複製程式碼
程式碼如下:
undefined,null ,0,-0,NaN,"" //空字串
需要注意
的是'0'這個只包含0的字串會轉成true!
補充一下null和undefined的特殊性:複製代碼
代碼如下:
null == undefined //true null === undefined //false