JavaScript 数组大括号与括号

2022-08-30 05:14:31

以下每个数组定义之间有什么区别。

var myArray = [];
var myArray = {};
var myArray = new Array();

答案 1

第一个和第三个是等效的,并创建一个新数组。第二个创建一个新的空对象,而不是数组。

var myArray = []; //create a new array
var myArray = {}; //creates **a new empty object**
var myArray = new Array(); //create a new array

答案 2

var myObject = {};等效于 varmyObject = new Object();

因此,第二个示例不是一个,而是一个一般。ArrayObject

这可能会像类和类一样令人困惑 - 更确切地说是 的子类。因此,总的来说,语义适用于:ArrayObjectArrayObjectObjectArray

var o = [];
o.push('element1');
o.push('element2');
o['property1'] = 'property value';  // define a custom property.
console.log(o.property1);
console.log(o.length);  // Outputs '2' as we've only push()'ed two elements onto the Array