Array instanceof Array 为false Object instanceof Object 为true 原理
时间: 2024-05-29 12:10:26 浏览: 95
JavaScript 判断判断某个对象是Object还是一个Array
5星 · 资源好评率100%
`instanceof` 运算符用于检查一个对象是否是某个构造函数的实例,它可以用来判断一个对象是否属于某一类。在 JavaScript 中,所有的对象都是 Object 类型的实例,而用 `typeof` 操作符检查一个数组时,会返回 `"object"` 类型,因为数组也是一种对象。
当我们使用 `instanceof` 操作符来判断一个对象是否为数组时,它会检查该对象的原型链中是否有 `Array.prototype`。如果有,那么该对象就被认为是一个数组。但是,如果该对象的原型链中没有 `Array.prototype`,那么它就不是一个数组。
因此,当我们使用 `Array instanceof Array` 时,它返回的是 `false`,因为 `Array` 构造函数并没有继承自 `Array.prototype`。而 `Object` 是所有对象的基础,它的构造函数继承自 `Object.prototype`,所以 `Object instanceof Object` 返回的是 `true`。
阅读全文