国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【javascript系列】布爾類型及轉換

wangxinarhat / 3069人閱讀

摘要:基本值原始值原始的布爾類型有兩個值和。創建布爾值的方式直接用字面量用函數,將其他任意值轉換成對應的原始布爾值。使用兩次非運算符,將其轉換成對應的布爾類型。下面來看一些將其他類型轉換成布爾類型的例子。

基本值(原始值)

原始的布爾類型boolean有兩個值: falsetrue

> typeof false
"boolean"
> typeof true
"boolean"
創建布爾值的方式

直接用字面量

var a = false;
var b = true;

用Boolean函數,將其他任意值轉換成對應的原始布爾值。

> a = Boolean()
false
> a = Boolean(true)
true

布爾類型與其他類型之間的轉換 其他類型值轉換成布爾值的對應關系

對應關系表如下所示:

其他類型值 轉換成的布爾值
undefined false
null false
布爾值 不用轉換
數字 0NaN轉化成false,其他數字類型轉換成true
字符串 只有空字符串""轉換成false,其他都轉換成true
對象 全部轉換為true

根據上表可總結為,js中五中基本數據類型undefined、null、布爾型、數字和字符串,外加對象共六中類型中,只有undefinednull、布爾值中的false、數字中的0NaN,和字符串中的空字符串"",共計6種值被轉換成false, 其余的都被轉換成true

被轉換成false的集合叫假值,被轉換成true的集合就真值
由上可知,以下為假值。

undefined, null

false

0, NaN

""

所有其他的值,包括對象等都是真值。
因為undefinednull都是假值,所以我們通常用于判斷一個變量x是否有值

if (x){
    // x 有值
}else{
    // x 無值
}

需要注意,上述判斷會把所有的假值解釋成“沒有值”,而不僅僅是undefinednull.
如當x= 0時,上述判斷會認為x沒有值,實際上x是有值的,且為0.
所以上述判斷要謹慎使用。

轉換成布爾值的方法 自動轉換

javscript中,凡是需要布爾值的地方,都可以提供任意類型的值,它們會自動被轉化成相應的布爾值。例如條件表達式或邏輯表達式中。

手動轉換

手動將其他類型的值轉換成布爾值有以下三種方法

1. Boolean(value) //使用Boolean函數,此處作為一個普通函數被調用,而不是構造函數。
2. value ? true : false
3. !! value  //使用兩次非運算符,將其轉換成對應的布爾類型。

三種方法都很常用,其中最好使用Boolean(value)這個方法,直觀又方便。

下面來看一些將其他類型轉換成布爾類型的例子。

undefined

> Boolean(undefined)
false

null

> Boolean(null)
false

boolean

> Boolean(false)
false
> Boolean(true)
true

數字

> Boolean(0)
false
> Boolean(133)
true
> Boolean(NaN)
false

字符串

> Boolean("")
false
> Boolean("dd")
true
> Boolean(" ")    //注意,空格字符串不是空字符
true
> Boolean("false")
true

對象

所用的對象都轉化成 true.

> Boolean([])
true
> Boolean({})
true
> Boolean(new Boolean(false))    //new Boolean(false)得到是一個boolean型object.
true
> Boolean(new Number(0))    //同上
true
> Boolean(new String(""))    //同上
true

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91080.html

相關文章

  • javascript系列】Boolean對象Boolean函數

    摘要:返回對象的原始值。函數函數有兩種調用方式作為普通函數調用,作為構造函數調用,函數作為普通函數調用語法參數可選,任意類型的值。 Boolean對象 Boolean對象是一個包裝了布爾值的對象(實例). 查看Boolean對象初始值的方法 Boolean對象.valueOf() //所有Boolean實例都繼承于 Boolean.prototype. Boolean原始值與Boo...

    BearyChat 評論0 收藏0
  • JavaScript基礎系列--數據類型類型判斷

    摘要:中有五種基本數據類型,以及一種復雜引用類型數據類型,中還細分了很多具體的類型,比如等等中又新增了一種類型。類型的數值范圍是,超出這個范圍的值為,可以使用函數來判斷數值是否在范圍內。 ECMAScript5中有五種基本數據類型:Undefined,Null,Boolean,Number,String,以及一種復雜(引用類型)數據類型:Object,Object中還細分了很多具體的類型,比...

    duan199226 評論0 收藏0
  • JavaScript疑難雜癥系列-相等性判斷

    摘要:同一類的復合類型值兩個復合類型對象數組函數的數據比較時,不是比較它們的值是否相等,而是比較它們是否指向同一個對象。寬松相等雙等號將執行類型轉換原始類型的值原始類型的數據會轉換成數值類型再進行比較。 事件這塊知識點雖然是老生長談的,但對于我來說多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會長篇大論,只會挑重點;具體的小伙伴們自行查找)參考:https://dev...

    Flink_China 評論0 收藏0
  • JavaScript疑難雜癥系列-相等性判斷

    摘要:同一類的復合類型值兩個復合類型對象數組函數的數據比較時,不是比較它們的值是否相等,而是比較它們是否指向同一個對象。寬松相等雙等號將執行類型轉換原始類型的值原始類型的數據會轉換成數值類型再進行比較。 事件這塊知識點雖然是老生長談的,但對于我來說多多整理,多多感悟,溫故知新,每次看看這塊都有不同的收獲.(在這里我不會長篇大論,只會挑重點;具體的小伙伴們自行查找)參考:https://dev...

    2bdenny 評論0 收藏0

發表評論

0條評論

wangxinarhat

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<