JS判断数据类型

100 阅读1分钟
  • 判断数据类型 *
    • 1.typeof
      • 问题,只能检测基本数据类型
    • 2.constructor
      • 语法:数据结构.constructor
      • 问题:null和undefined不能使用
      • 使用场景:一般用于引用数据类型
      • 潜在问题:这是原型对象的某一个属性,我们是可以手动修改的
    • 3.Object.prototype.toString.call(要检测的数据)
      • 返回值[object 数据类型] (字符串格式,并且数据类型的首字母是大写)

      • 使用场景:任意类型都可准确判断,所以大部分情况下都可以使用

function Person(){
      
    }
    const p1 = new Person()
    console.log(p1.constructor)
    /**
     * 1.现在对象自身查找,如果找到直接使用,如果没找到,会去对象的__proto__里面查找
     * 
     * 2.先当与去了Person的prototype内部查找
    */
    console.log([].constructor === Array)

    console.log(Object.prototype.toString.call())