Array instanceof Array为false; Object instanceof Object为true的原理
时间: 2024-06-06 15:10:49 浏览: 134
这是因为在 JavaScript 中,所有的对象都继承自 Object 类型,因此 Object instanceof Object 为 true。而数组类型属于对象类型的一种,但它是通过特殊的方法创建的,因此 Array instanceof Array 为 false。可以将数组类型看作是 Object 类型的一个子类,它继承了 Object 类型的属性和方法,并且还拥有自己特有的属性和方法。
相关问题
Array instanceof Array 为false Object instanceof Object 为true 原理
instanceof操作符用于判断一个对象是否为某个构造函数的实例。当使用instanceof操作符检查一个数组时,如果该数组是通过Array构造函数创建的,那么返回值为true;如果该数组是通过其他方式创建的,那么返回值为false。
Object是JavaScript的内置对象,所有的JavaScript对象都是Object的实例,因此Object instanceof Object的返回值为true。
总之,instanceof操作符的返回值取决于对象的原型链。如果一个对象的原型链中包含了构造函数的原型对象,那么该对象就是该构造函数的实例,否则就不是。
Array instanceof Array 为false Array instanceof Object 为true Object instanceof Object 为true
这是正确的。
第一个表达式返回false,因为Array是一个构造函数,而非一个实例对象,所以它不是一个数组的实例。
第二个表达式返回true,因为Array是Object的子类,所以它是一个对象的实例。
第三个表达式返回true,因为Object是一个构造函数,但同时也是它自己的实例。
阅读全文