比typeof检测数据类型更精确一步的Object.prototype.toString.call()

89 阅读1分钟

Object.prototype.toString.call()检测数据类型更精确一步

我们知道在js中typeof只能判断出number string undefined boolean object function六种类型 而Object.prototype.toString.call()这个方法可以进一步判断数据类型 喜欢深究数据类型的同学们不妨往下看看吧

先把typeof能检测出的6种类型做个对比看看

1.png

可以从截图中看到两种方法差不多

再来看看typeof不能精确检测的类型

1.正则

2.png

可以从截图中看出 typeof检测出的是object Object.prototype.toString.call()检测出的是[object RegExp]

2.数组

3.png

可以从截图中看出 typeof检测出的是object Object.prototype.toString.call()检测出的是[object Array]

接下来就直接放截图了 同学们直接看结果

3.null

4.png

4.Date

5.png

5.构造函数的实例对象

6.png

6.JSON

7.png

isNativeJSON输出结果为[object JSON]说明window.JSON为真 说明JSON是原生的

7.Math

8.png

8.Set

9.png

总结

typeof检测比较方便 Object.prototype.toString.call()能更精确一步检测数据类型

如果有问题或更多的检测类型请指出共勉 希望对你有帮助