判断Array/Object

时间:2022-02-24 07:39:33

Object.prototype.isPrototypeOf()  /  Array.prototype.isPrototypeOf()
if(typeof items === "object"&&!Array.prototype.isPrototypeOf(items)){
  items= [items];
}

constructor属性
if(typeof obj == 'object' && obj.constructor == Array){}

Instanceof

每个对象都有一个constructor属性,它引用了初始化该对象的构造函数,比如判断未知对象的类型,因此我们可以如下写一个方法,代码如下:

if([] instanceof Array){}
if({} instanceof Object){}