更好的检查数组之Array.isArray篇

在 javascript 中,数组不是真正的数组,它本质上是对象。所以不能简单地使用 typeof 进行检查,因为它的返回结果为 ‘object’。

那么如何检查一个值是不是真正的数组,有一种更简单的方法,就用到了今天要说的 Array.isArray() 方法。 示例如下:
检查数组

Array.isArray() 示例

接下来,让我们试试用它判断一下其他类型的值,看看会得到什么样的结果。

以下均为真正的数组,返回结果为 true

以下并非真正的数组,返回结果为 false

instanceof vs Array.isArray()

另一个使用比较多的方式是 instanceof,如下示例:

但是,该方法存在的最大的问题是,instanceof 本质上通过检测构函数的 prototype 属性是否出现某个实例对象的原型链上。如果表达式 colors instanceof Array 返回 true,并不意味着该表达式会永远返回 true,因为 Array.prototype 属性的值可能发生会改变,改变后的值可能不存在于 Array 的原型链上,这时原表达式的值就会成为 false。

未经允许不得转载:专注は互联网 · 用户 · 产品 - 极简 · 生活 · 禅修 » 更好的检查数组之Array.isArray篇

赞 (0)

扫码打Call!

分享到:更多 ()

留言 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址