instanceof
type of
- 对于值类型,通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number等等
typeof 1
typeof '1'
typeof true
typeof {}
typeof []
instanceof
- instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上
- 语法
object instanceof constructor
- 大白话:Instanceof的判断队则是:沿着object的proto这条线来找,同时沿着constructor的prototype这条线来找,如果两条线能找到同一个引用,即同一个对象,那么就返回true。如果找到终点还未重合,则返回false。
let obj = new Object()
obj instanceof Object
let num = 1
num instanceof Number
num = new Number(1)
num instanceof Number