为什么控制台将typeof显示为数组的对象? [重复]

问题描述 投票:0回答:2

var array = new Array("sfsdf", "sdvgsdfswde");
console.log(typeof array);
javascript html console
2个回答
0
投票

好吧因为在Javascript中,一个数组是一个对象。检查文档here

JavaScript Array对象是一个用于构造数组的全局对象;这是高级的,类似列表的对象

数组是类似列表的对象,其原型具有执行遍历和变异操作的方法。 JavaScript数组的长度和元素的类型都不固定。由于数组的长度可以随时改变,并且数据可以存储在数组中的非连续位置,因此不能保证JavaScript数组密集;这取决于程序员如何选择使用它们。一般来说,这些都是方便的特征;但如果这些功能不适合您的特定用途,您可以考虑使用类型化数组。


0
投票
var a = []
typeof a
 ==> "object"

因为Array是从一种对象继承的。如果你想检查它的Array,那么使用这个方法

 Array.isArray(a) ==> true
© www.soinside.com 2019 - 2024. All rights reserved.