如何精准的判断变量的数据类型

84 阅读1分钟

1.使用typeof基本数据类型函数类型进行判断

image.png
注意,使用typeof判断null的类型,会打印object

image.png

2.使用instanceof查找某个值的原型链上是否存在数据的构造函数,该API用于判断复杂数据类型

image.png

3.使用Object包装对象的原型上的toString方法来获取数据的类型

function fn(a) {
    const b = Object.prototype.toString.call(a)
    console.log(b)
    const type = b.substring(8, b.length-1)
    console.log(type)
}
fn({t: '123'})  // 打印b[object Object]   打印type为Object

4.使用constructor查找该数据的构造函数
所有原型对象都有一个constructor方法指向它的构造函数,而继承了原型的实例也可以调用这个方法

image.png

image.png