use*_*628 1 javascript arrays object
我试图在JavaScript中理解一些东西.
让我们说我做了以下事情:
let x = [];
x['Monday'] = 'Work';
x['Tuesday'] = 'More Work';
console.log(x) //[Monday: "Work", Tuesday: "More Work"]
console.log(x.Monday) //"Work"
console.log(x.Tuesday) //"More Work"
Run Code Online (Sandbox Code Playgroud)
有人可以帮助解释为什么数组现在表现得像一个对象?
因为数组是一个对象
[] instanceof Object
> true
[] instanceof Array
> true
Run Code Online (Sandbox Code Playgroud)
两者都给你真实,因为Array扩展了普通的Object功能.此外,数组通过字符串值索引其所有成员
const array = [];
array[0] = 1;
array['0'] // will give you 1
Run Code Online (Sandbox Code Playgroud)
这也是大多数人意想不到的.因此,即使您将数组用作带索引的普通数组,该数组的行为也类似于Object