网道 / JS常见类型的判断
程序员文章站
2024-02-18 18:25:34
...
JS常见类型的判断,这里列举了三类,之后碰到更好的持续更。。。
第一类:
var obj = {}
var arr = []
var str = ''
var num = 1
var bool = true
var date = new Date()
var reg = new RegExp()
var set = new Set()
var map = new Map()
var fun = new Function()
var symbol = Symbol()
Object.prototype.type = function (){
return Object.prototype.toString.call(this)
}
console.log(obj.type()) // [object Object]
console.log(arr.type()) // [object Array]
console.log(str.type()) // [object String]
console.log(bool.type()) // [object Boolean]
console.log(date.type()) // [object Date]
console.log(reg.type()) // [object RegExp]
console.log(set.type()) // [object Set]
console.log(map.type()) // [object Map]
console.log(fun.type()) // [object Function]
console.log(symbol.type()) // [object Symbol]
第二类
var obj = {}
var arr = []
var str = ''
var num = 1
var bool = true
var date = new Date()
var reg = new RegExp()
var set = new Set()
var map = new Map()
var fun = new Function()
var symbol = Symbol()
var type = function (data){
return Object.prototype.toString.call(data)
}
console.log(type(obj)) // [object Object]
console.log(type(arr)) // [object Array]
console.log(type(str)) // [object String]
console.log(type(num)) // [object Number]
console.log(type(date)) // [object Date]
console.log(type(reg)) // [object RegExp]
console.log(type(set)) // [object Set]
console.log(type(map)) // [object Map]
console.log(type(fun)) // [object Function]
console.log(type(symbol)) // [object Symbol]
第三类
var type = function (o){
var s = Object.prototype.toString.call(o);
return s.match(/\[object (.*?)\]/)[1].toLowerCase();
};
type({}); // "object"
type([]); // "array"
type(5); // "number"
type(null); // "null"
type(); // "undefined"
type(/abcd/); // "regex"
type(new Date()); // "date"
上一篇: JS对象转URL参数