浅谈JavaScript中typeof与instanceof的区别

  首先,我们从其常规定义入手:

      instanceof 运算符可以用来判断某个构造函数的 prototype 属性是否存在另外一个要检测对象的原型链上。(需要注意的一点是:prototype(原型链)的属性值有可能会改变)。

    typeof操作符返回一个字符串,表示未经求值的操作数(unevaluated operand)的类型。

此处引入topeof的一些特别之处,以便在区分用instanceof 还是typeof是做出判断:

image

注意:在通过typeof处理”其他任何对象”+ “Null”类型时的结果是object类型,故在实际生产过程中,特别是做一个json数据的判断中,一定要记住避免使用typeof或者说慎用吧。  这也是笔者今天做此文的目的所在。

原文地址:https://www.cnblogs.com/Frank-C/p/4957461.html