检测数据类型的四种方法
一、数据类型:
1、基本数据类型:String、Number、Boolean、Null、Undefined、Symbol 、BigInt
2、引用数据类型:Object、Array、Function、Date、RegExp
二、检测数据类型的四种方法
特点:typeof只能检测基本数据类型(除了null),不能准确的检测引用数据类型。
object、array、date、regExp、null 都会返回object
2.instanceof检测
特点:instanceof的本质作用是判断某个对象是由哪个类(构造函数)产生的,所以只能用在引用数据类型上,如果在原型上找到返回true,
所以用它可以区分是引用类型还是基本类型数据;不能判断null,undefined
特点:不能判断null,undefined,其它的都可以,由于类的constructor可以随意更改,此时会存在判断不准确的问题
4.Object.prototype.toString.call() 检测
特点:该方法是最准备的检测数据类型的方法。由于Object.prototype.toString()本身允许被修改,所以需要调用
Object.prototype.toString.call(arg)来判断arg的类型,call将arg的上下文指向Object,所以arg执行了Object的toString方法。