typeof可以檢測資料的型別
typeof返回結果的其實是字串:可以通過以下測試出來
console.log( typeof(typeof(a))); // string
typeof返回的資料型別有6種:
1.number—–數字型別的運算元typeof(123);
NaN屬於number型別。雖然是非數,但是非數也是數字的一種。
2.string——–字串型別的運算元typeof(`123`);
3.boolean—–布林值如:typeof(true);
4.object——–物件,陣列,null,比如typeof(window),typeof(document),typeof(null);
其實null並不是一種物件,只是因為歷史遺留性的問題,null通常用來作為物件佔位符,所以被瀏覽器歸到了object裡面了。
5.function—–函式型別,比如typeof(eval),typeof(Date),typeof(Number),typeof(Object).
內建建構函式的分類
① ECMAScript核心語法自帶內建建構函式: 有一部分內建建構函式:Function、 Object、 Array、 String、 Number、 Boolean、 RegExp、 Error、 Date
② 宿主環境: 也會支援一部分建構函式 例如Image。
6.undefined–未定義的變數,函式或者undefined
注意:typeof測試任何變數都不會報錯,未定義的變數會返回字串undefined
例題:
var a = typeof undefined == typeof NULL; console.log(a); //true
// 因為javascript嚴格區分大小寫,這裡的NULL不等於null,這裡的NULL為undefined