JavaScript类型检测笔记之终极解决方案

Js
yutao

前面三篇文章分别介绍了JavaScript中检测类型的方法,但都不太完美;
有大神实在看不下去了,就拿出一个比以往都简单且给力的方法:

1
2
3
4
5
6
7
8
9
10
11
Object.prototype.toString();

function isType(object) {
  return Object.prototype.toString.call(object)
    .match(/^\[object\s(.*)\]$/)[1];
};
console.log(isType('12'));//String
console.log(isType([]));//Array
console.log(isType({}));//Object
console.log(isType(undefined));//Undefined
console.log(isType(null));//Null

参考:
how-to-write-a-robust-isarray
相关:
JavaScript类型检测笔记之typeof
JavaScript类型检测笔记之constructor
JavaScript类型检测笔记之instanceof