Qual è la differenza tra l'Array () e [] in Javascript e perché vorrei utilizzare uno sopra l'altro? [duplicare]

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

  •  18-09-2019
  •  | 
  •  

Domanda

  

Eventuali duplicati:
   Qual è la differenza tra “Array ()” e “[]” pur dichiarando un array JavaScript?

In JavaScript è possibile creare un nuovo array come:

var arr = new Array();

o simile:

var arr2 = [];

Qual è la differenza e perché si dovrebbe fare uno sopra l'altro?

È stato utile?

Soluzione

new Array(2) proudces un array di dimensione 2 , contenente due undefineds. [2] produce un array di dimensione 1 , contenente il numero 2 . new Array IMO non si adatta con lo spirito di JavaScript, anche se può rendere la costruzione gamma molto più trovabili. Questo può o non può essere di alcuna importanza (io uso letterali quasi esclusivamente in JavaScript per tutti i tipi pertinenti, e ho stato autore / mantenuto grandi pezzi di JavaScript [30-50 KLOC] con successo).

modifica Immagino le ragioni condito programmatori JavaScript evitare sintassi new Array sono:

  • non si comporta in modo uniforme in tutto il numero di argomenti e tipi ((new Array(X)).length == 1 per qualsiasi X finché typeof(X) != "number"
  • è più prolisso e l'unica cosa che si guadagna è l'irregolarità

Altri suggerimenti

Un altro (minore) ragione per usare [] a preferenza di new Array() è che Array potrebbe potenzialmente essere sovrascritto (se non ho mai visto accadere) ed [] è garantito per funzionare.

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

Credo che siano identici. Io non uso mai new Array ();

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top