Was ist der Unterschied zwischen Array () und [] in Javascript und warum sollte ich einen über die andere verwenden? [Duplikat]

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

  •  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?

War es hilfreich?

Lösung

new Array(2) proudces ein Array der Größe 2 , die zwei undefineds. [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 jede X solange typeof(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 ();

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top