В чем разница между каждым из следующих определений массивов.
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 = {}; эквивалентен var myObject = new Object();
Итак, второй пример - это не Array, а общий Object.
Это может ввести в заблуждение, поскольку Array является классом, а Object является классом - точнее Array является подклассом Object. Итак, по большому счету, семантика Object применима к Array:
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