Array instanceof Array为false
时间: 2023-10-18 09:14:43 浏览: 71
这是因为在JavaScript中,Array是一个构造函数,而不是一个对象。因此,当我们使用instanceof运算符来检查一个数组是否是另一个数组的实例时,它会检查原型链,但不会返回true,因为Array.prototype不在另一个数组的原型链上。
例如:
```
const arr1 = [1, 2, 3];
const arr2 = new Array(4, 5, 6);
console.log(arr1 instanceof Array); // true
console.log(arr2 instanceof Array); // true
console.log(Array instanceof Array); // false
console.log([] instanceof Array); // true
```
相关问题
Array instanceof Array 为false Array instanceof Object 为true Object instanceof Object 为true
这是正确的。
第一个表达式返回false,因为Array是一个构造函数,而非一个实例对象,所以它不是一个数组的实例。
第二个表达式返回true,因为Array是Object的子类,所以它是一个对象的实例。
第三个表达式返回true,因为Object是一个构造函数,但同时也是它自己的实例。
Array instanceof Array 为false Array instanceof Object 为true Object instanceof Object 为true 原因
:
Array instanceof Array 为false:因为Array是一个构造函数,它创建的实例是数组对象,而不是Array本身。因此,Array instanceof Array返回false。
Array instanceof Object 为true:因为Array也是一个对象,它是Object的子对象,因此,Array instanceof Object返回true。
Object instanceof Object 为true:因为Object是一个构造函数,它创建的实例也是对象,因此,Object instanceof Object返回true。
阅读全文