检测数据类型的四种方法和数据类型

一、数据类型:

1、基本数据类型:String、Number、Boolean、Null、Undefined、Symbol 、BigInt
2、引用数据类型:Object、Array、Function、Date、RegExp

二、检测数据类型的四种方法
1、typeof:

(1)检测方法:变量 typeof 数据类型(a typeof string)
(2)总结:只能准确检测:string、number、boolean、undefined、symbol、function,弊端是其他(object、array、date、regExp、null)都会返回object;

2、instanceof:

(1)检测方法:对象 instanceof 引用数据类型(obj instanceof Object)
(2)总结:instanceof的本质作用是判断某个对象是由哪个类(构造函数)产生的,所以只能用在引用数据类型上,如果在原型上找到返回true,所以用它可以区分是引用类型还是基本类型数据;不能判断null,undefined

3、constructor:

(1)检测方法:数据类型.constructor 数据类型([].constructor == Array)
(2)总结:不能判断null,undefined,其它的都可以,由于类的constructor可以随意更改,此时会存在判断不准确的问题

4、Object.prototype.toString.call():

(1)检测方法:Object.prototype.toString.call(数据类型)
(2)总结:该方法是最准备的检测数据类型的方法。由于Object.prototype.toString()本身允许被修改,所以需要调用Object.prototype.toString.call(arg)来判断arg的类型,call将arg的上下文指向Object,所以arg执行了Object的toString方法。

欢迎加我技术交流QQ群 :811956471

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容