js 世界

判断是否为数组的6种方法

2022-06-19  本文已影响0人  前端末晨曦吖
数组是属于Object类型的,也就是引用类型,所以不能使用typeof判断其具体类型

instanceof 运算符 , 主要是判断某个实例(arr)是否属于某个对象

    let arr = []
    console.log(arr instanceof Array)   //true

constructor 判断实例(arr)的构造函数是否等于某个对象

    let arr = []
    console.log(arr.constructor == Array)   //true

isArray 判断是不是数组

    let arr = []
    console.log(Array.isArray(arr)) //true

Object.getPrototypeOf() 方法返回指定对象的原型,然后和Array的原型对比

    let arr = []
    console.log(Object.getPrototypeOf(arr) == Array.prototype)  //true

Array原型链上的isPrototypeof
Array.prototype表示Array的构造函数的原型
isPrototypeof()方法可以判断一个对象是否存在另一个对象的原型链上

    let arr = []
    console.log(Array.prototype.isPrototypeof(arr)) //true

Object.prototype.toString.call() 把对象转为字符串和一个已知的对象进行对比

    let arr = []
    console.log(Object.prototype.toString.call(arr) == '[object Array]')    //true
上一篇下一篇

猜你喜欢

热点阅读