typeof 和 instanceof 比较

JS数据类型

Number, String, Boolean, Undefined, Object, Function, Array, Null

  • 值类型:Number, String, Boolean, Undefined

  • 引用类型:Array, Object, Function, Null

typeof

通过返回一个字符串,说明遍历的数据类型。

无法判断引用类型的具体数据类型 (除引用类型的 function 外)

console.log(typeof [1,4,3]);    // object
console.log(typeof obj{});  // object
console.log(typeof null);   // object
console.log(typeof function(){});   // function

instanceof

  1. 除了基本数据类型,还可以判断引用类型的具体数据类型
var arr = [];
console.log( arr instanceof Array); //true
  1. 可以在继承关系中判断一个实例是否属于它的父类型
f instanceof Foo, 判断逻辑:
    f 的 _proto_ 一层一层网上,能否找到 Foo.prototype
    f._proto_   

f instanceof Object, 判断逻辑:
    f._proto_._proto_
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。