JavaScript数据类型检测

141 阅读1分钟

数据类型检测

  1. typeof
  2. instanceOf
  3. constructor
  4. Object.ptototype.toString.call()

typeof

  • 检测数据类型,返回字符串类型的
  • null --> “object” null代表空对象指针
  • typeof + 对象数据类型 --> “object”不能具体细分对象数据类型中的对象、数组、正侧
  • 可以检测函数

instanceOf检测实例是否属于某个类,返回true或false

  • 只要当前类在当前实例的原型链上,也会检测到
  • 继承可以导致检测结果不准确
  • instanceOf不能检测通过字面量方式创建的基本数据类型的值 constructor
  • f.constructor校验当前实例是否是Fn的一个实例,返回true或false
  • 当修改原型的空间地址,或通过继承修改了原型链,都回导致检测结果不准

Object.prototype.toString.call()

  • 通过自定义类创建的实例,返回"[object Object]"