11 Stimme

JavaScript: Soll ich new Array() benutzen?

Frage von Gast | 09.08.2015 um 22:08

Soweit ich das überblicke, gibt es in JavaScript zwei unterschiedliche Methoden, um einen Array zu deklarieren.

var arr = [1, 2, 3];

// oder

var arr = new Array(1, 2, 3);

Einmal werden die Elemente einfach nur in eckigen Klammern definiert, einmal wird der Constructor new Array() aufgerufen.

Scheinbar liefern beide Wege exakt dasselbe Ergebnis. Nun bin ich verunsichert, welchen Weg ich gehen soll. Gibt es irgendwelche Vorteile oder Nachteile für die eine oder andere Methode?

AntwortenPositivNegativ
1Beste Antwort1 Stimme

Wenn du einen Array mit vordefinierten Elementen deklarieren willst, empfehle ich dir, immer die erste Methode zu verwenden, die Elemente des Arrays also in eckigen Klammern zu definieren.

Zunächst hat dies natürlich den Vorteil, dass es weniger zu schreiben gibt und der Code übersichtlicher wird. Aber es gibt auch andere Argumente dafür, in diesem Fall nicht new Array() zu verwenden. Schauen wir uns dazu folgendes Beispiel an:

var arr = new Array(10);

Was macht dieser Code? Erstellt er ein Array mit dem Element 10? Nein. Hier erstellen wir einen leeren Array mit 10 Elementen. Obwohl new Array(10, 11) einen Array mit den zwei Elementen 10 und 11 erzeugt, erzeugt new Array(10) einen leeren Array mit 10 Elementen. Hätten wir "arr = [10]" geschrieben, wäre dies nicht passiert.

Womit wir aber auch bei dem Punkt wären, an dem new Array() durchaus zu seiner Daseinsberechtigung kommt: Immer dann, wenn wir einen neuen leeren Array einer bestimmten Länge erstellen möchten, können wir getrost new Array() verwenden. Zum Beispiel wenn wir den Array erst später im Code füllen möchten und nicht sofort alle Elemente definieren können.

Zusammenfassend empfehle ich, bei vordefinierten Arrays immer die Schreibweise mit den eckigen Klammern zu verwenden und new Array() nur dann zu verwenden, wenn man einen Array ohne vordefinierte Elemente braucht und den Array entsprechend erst später füllt.
10.08.2015 um 12:25

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.