1. 程式人生 > >js 中 undefined、null、""、0、false

js 中 undefined、null、""、0、false


   undefined、null、""、0、false這五個值在if語句中做判斷,都會執行false分支.

   undefined和null比較特殊,雖然null的型別是object,但是null不具有任何物件的特性,就是說我們並不能執行null.toString()、null.constructor等物件例項的預設呼叫。 
    所以從這個意義上來說,null和undefined有最大的相似性。

 就是和數字運算時,10 + null結果為:10;10 + undefined結果為:NaN。 


    ""、0和false雖然在if語句表現為"假值",可它們都是有意義資料,只是被作為了"空值"或"假值"
因為:★★"".toString(),(0).toString()和false.toString()都是合法的可執行表示式。

    當嘗試讀取不存在的物件屬性時也會返回 undefined。 
提示:只能用 === 運算來測試某個值是否是未定義的,因為 == 運算子認為 undefined 值等價於 null。 
註釋:null 表示無值,而 undefined 表示一個未宣告的變數,或已宣告但沒有賦值的變數,或一個並不存在的物件屬性。