首页 > 解决方案 > 是什么让“数组”与 Javascript 中的“对象”不同?【具体原因】

问题描述

正如我们所知,typeofJavascript 中的运算符为数组返回“对象”。那么,问题是为什么?有什么具体原因吗?

var arr = [1, 2, 3, 4];
var obj = { a: 1,  b: 2 };

console.log(arr);
console.log(obj);

console.log(typeof arr);
console.log(typeof obj);

console.log((typeof arr) == (typeof obj))

标签: javascript

解决方案


为什么typeofJavascript 中的运算符为数组返回“对象”?有什么具体原因吗?

是的,因为简单来说,您可能会认为这个数组:

['alpha', 'beta', 'gamma', 'delta']

非常接近这个对象的简写:

{0: 'alpha', 1: 'beta', 2: 'gamma', 3: 'delta', length: 4}

在 javascript 中,数组和对象有自己独特的方法、属性、循环等……但array实际上.object


推荐阅读