¿Cuál es la diferencia entre cada una de las siguientes definiciones de matriz?
var myArray = [];
var myArray = {};
var myArray = new Array();
javascript
arrays
Dedo meñique
fuente
fuente

myObject["someValue"]omyObject.someValue. El objeto vacío creado por{}, por supuesto, no tendrá esas propiedades, pero puede asignarles de la misma manera:myObject.someValue = "hello!"var a = new Array(5)yvar b = [5], entoncesa≠b(ya quea.length= 5 whileb.length= 1,a[0]esundefinedwhileb[0]es 5, y así sucesivamente.)var a;yvar a = {};lo mismo?var myObject = {};es equivalente a varmyObject = new Object();Entonces, el segundo ejemplo no es
Arraygeneral, sino generalObject.Esto puede resultar confuso ya que
Arrayes una clase yObjectes una clase; más precisamente,Arrayes una subclase deObject. Entonces, en general, laObjectsemántica es aplicable aArray:fuente
o['property1'] = 'property value', en realidad no está agregando un elemento a la matriz, sino configurando una propiedad del objeto de matriz . ¿Confuso? Ya te lo dije;) En JavaScript, básicamente todo es un objeto. Otros objetos, comoArray,RegExp, ... ampliar el objeto básico con mayor funcionalidad. Se crea un objeto simple y vacío con las llavesplain_obj = {}.