typeof/constructor/instanceof的区别

typeof,是一个运算符,运算中需要一个操作数,

运算的结果就是这个操作数的类型,运算的结果是一个字符串。

他有一定的局限性,对于对象类型的值,只能得到一个”object”结果,却不能精确得到此值的精确类型。

示例:typeof 'hello' //得到"string"

instanceof,也是一个运算符,运算中需要两个操作数,

运算的结果是true或false,表示此值是不是某一个类的示例,能得到一个值的具体类型。

示例:function User(){}  var u=newUser;  console.log( u instanceof User );//true

constructor是对象的一个属性,不是运算符,constructor属性指向对象的构造函数。

示例:function User(){}  var u=newUser;  console.log( u.constructor===User);//得到true

posted @ 2020-03-05 10:19  fengwenqi  阅读(170)  评论(0编辑  收藏  举报