Qual è la differenza tra l'Array () e [] in Javascript e perché vorrei utilizzare uno sopra l'altro? [duplicare]
-
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?
Soluzione
new Array(2)
proudces un array di dimensione 2 , contenente due undefined
s. [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 qualsiasiX
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 ();