Was ist der Unterschied zwischen Array () und [] in Javascript und warum sollte ich einen über die andere verwenden? [Duplikat]
-
18-09-2019 - |
Frage
Mögliche Duplizieren:
Was ist der Unterschied zwischen „Array ()“ und „[]“, während eine JavaScript-Array deklarieren?
In JavaScript können Sie ein neues Array erstellen wie:
var arr = new Array();
oder wie:
var arr2 = [];
Was ist der Unterschied und warum würden Sie einen über den anderen zu tun?
Lösung
new Array(2)
proudces ein Array der Größe 2 , die zwei undefined
s. [2]
erzeugt ein Array der Größe 1 , enthaltende Zahl 2 . new Array
IMO nicht mit dem Geist der JavaScript passen, obwohl es Array Konstruktion viel mehr auffindbar machen kann. Das mag oder nicht von Bedeutung sein kann (I Literale verwenden fast ausschließlich in JavaScript für alle Typen mit, und ich habe Autor / gepflegt große Stücke von JavaScript [30-50 KLOC] erfolgreich).
Bearbeiten Ich denke, die gewürzt Gründe JavaScript-Programmierer new Array
Syntax sind zu vermeiden:
- es verhält sich nicht gleichmäßig über Argument Zahlen und Typen (
(new Array(X)).length == 1
für jedeX
solangetypeof(X) != "number"
- es ist ausführlicher und das einzige, was Sie gewinnen, ist die Unregelmäßigkeit
Andere Tipps
Ein weiterer (kleinerer) Grund []
bevorzugt gegen new Array()
zu verwenden ist, dass Array
möglicherweise außer Kraft gesetzt werden könnte (obwohl ich habe es nie passieren gesehen) und []
garantiert arbeiten.
Array = "something";
var a = new Array(); // Fails
var b = []; // Works
Ich glaube, sie sind identisch. Ich benutze nie new Array ();