在JavaScript中,typeof
运算符用于返回一个值的数据类型。对于数组,typeof [1, 2, 3, 4]
返回 "object"
而不是 "array"
是因为在JavaScript中,数组实际上是一种特殊的对象。
具体来说:
- JavaScript中的所有非原始类型(如数组、函数、对象等)都被视为对象。
typeof
只能区分原始类型(如"string"
,"number"
,"boolean"
,"undefined"
,"symbol"
, 和"bigint"
),以及对象(返回"object"
),它不能进一步细分对象的类型。
要检查一个值是否是数组,应该使用 Array.isArray()
方法。例如:
Array.isArray([1, 2, 3, 4]); // 返回 true
这个方法专门用来判断一个对象是否是数组。