JavaScript中的數據類型以及判斷數據類型的方法
阿新 • • 發佈:2019-04-05
相等 顯式 養成 報錯 span 變量賦值 特殊 隱式 派生 null 的,因此 ECMA-262 規定對它們的相等性測試返回 true。
數據類型概述
undefined、Null、Boolean、Number 、String、function、Object(復雜數據類型)
javaScript 不支持任何創建自定義類型的機制,所有值都成為以上 6 中數據類型之一
undefined類型
Undefined 類型只有一個值,即特殊的 undefined。
在使用 var 或者let聲明變量,但沒有對其初始化時,這個變量的值就是 undefined。我們在定義變量的時候,盡可能的不要只聲明,不賦值。
沒有必要顯式的給一個變量賦值為 undefined,因為沒有賦值的變量會隱式的 (自動的)賦值為 undefined
ECMAScript 第 3 版之前並沒有引入這個值,引入之後為了正式區分空對象與未經初始化的變量。
var s alert(s) // undefined
未初始化的變量與根本不存在的變量(未聲明的變量)也是不一樣的。
var s alert(s) // undefined // alert(a) // 報錯:a is not defined // 使用typeof 判斷一個未初始化的變量和未定義的變量返回都是undefined,從邏輯上思考,他們的值,一個是 undefined,一個報錯;他們的類型,卻都是 undefined alert(typeof s) alert(typeof a)
Null類型
Null 類型是一個只有一個值的數據類型,即特殊的值 null。
它表示一個空對象引用(指針),而 typeof 操作符檢測 null 會返回 object。
var s = null alert(typeof s) //object
如果定義的變量準備在將來用於保存對象,那麽最好將該變量初始化為 null。這樣,當檢查 null 值就知道是否已經變量是否已經分配了對象引用了。
var s = null if (s !== null) { alert(‘對象存在‘) }
註意:undefined 是派生自
由於 undefined 和 null 兩個值的比較是相等的,所以,未初始化的變量和賦值為 null 的變量會相等。這時,可以采用 typeof 變量的類型進行比較。但建議還是養成編碼的規範,不要忘記初始化變量。
var s = null var a alert(a == s) // true alert(a === s) // false alert(typeof a === typeof s) // false alert(undefined == null) // true alert(undefined === null) //fasle,三個等於號比較的是數據類型
JavaScript中的數據類型以及判斷數據類型的方法