number 、 string 、 boolean 、 null 、 undefined 、 symbol(ES6新增)數組
Object ( Array 、 Date 、 RegExp ) 、 Function瀏覽器
typeof 、 instanceof 、 constructor 、 Object.prototype.toString.call() 函數
typeof是用於檢測數據類型的一元運算符,與+ - * /
同樣。prototype
typeof [value]
3d
包含對應數據類型的字符串code
被檢測的數據類型 | 檢測結果 |
---|---|
Symbol | "symbol" |
Number | "number" |
Boolean | "boolean" |
Undefined | "undefined" |
Function | "function" |
Null | "object" |
Object | "object" |
Date | "object" |
RegExp | "object" |
Array | "object" |
判斷當前實例是否屬於某個類,若是是則返回 true,不然返回 false。cdn
[example] instanceof [class]
對象
布爾值blog
對於特殊的數據類型 null 和 undefined,他們的所屬類分別是 Null 和 Undefined,可是瀏覽器把這兩個類保護起來了,不容許在外面訪問使用。原型鏈
constructor 爲實例原型上的方法,指向它的構造函數。利用這一點,獲取某實例的constructor 屬性值,檢測是否爲所屬的類,從而進行數據類型檢測。
[example].constructor===[class]
布爾值
Object.prototype.toString.call([value])
字符串,格式爲:[Object 當前被檢測實例所屬的類]
以上就是本篇關於JS數據類型檢測的所有內容,若是有誤,歡迎指出。