¿Cuál es la diferencia entre Array () y [] en Javascript y por qué debería utilizar uno sobre el otro? [duplicar]

StackOverflow https://stackoverflow.com/questions/2203734

  •  18-09-2019
  •  | 
  •  

Pregunta

  

Duplicar posible:
   ¿Cuál es la diferencia entre “Array ()” y “[]”, mientras que se declara una matriz de JavaScript?

En JavaScript se puede crear una nueva matriz como:

var arr = new Array();

o igual que:

var arr2 = [];

¿Cuál es la diferencia y ¿por qué haces una sobre la otra?

¿Fue útil?

Solución

new Array(2) proudces una matriz de tamaño 2 , que contiene dos undefineds. [2] produce una matriz de tamaño 1 , que contiene el número 2 . new Array OMI no encaja con el espíritu de JavaScript, a pesar de que esto puede hacer que la construcción gama mucho más fáciles de encontrar. Eso puede o no ser de alguna importancia (utilizo literales casi exclusivamente en JavaScript para todos los tipos aplicables, y he sido autor / mantenido grandes piezas de JavaScript [30-50 KLOC] con éxito).

editar supongo que las razones avezados programadores de JavaScript evitar la sintaxis new Array son:

  • no se comporta de manera uniforme en los números de argumentos y tipos ((new Array(X)).length == 1 para cualquier X , siempre y cuando typeof(X) != "number"
  • que es más detallado y lo único que se obtiene es la irregularidad

Otros consejos

Otra razón (menor) a utilizar con preferencia a [] new Array() es que Array potencialmente podría ser anulado (aunque nunca he visto suceder) y [] se garantiza que funcione.

Array = "something";
var a = new Array(); // Fails
var b = []; // Works

creo que son idénticos. Nunca uso new Array ();

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top