Welchen Wert hat dieser Ausdruck?
[...[...'...']].length

Verständnis der Länge Eigenschaft in JavaScript

In der gegebenen Quizfrage wurden wir gefragt, welchen Wert der Ausdruck [...[...'...']].length hat. Die richtige Antwort ist '3'.

JavaScript hat einige eingebaute Funktionen und Eigenschaften, die mit Arrays arbeiten können, und eine davon ist die .length Eigenschaft. Sie gibt die Anzahl der Elemente in einem Array zurück.

Beispiele für die .length Eigenschaft

Wenn Sie ein Array wie folgt haben: let array = [1, 2, 3, 4, 5], und Sie array.length ausführen, wird '5' als Ergebnis zurückgegeben, da es 5 Elemente im Array gibt.

In der Quizfrage sehen wir jedoch ein etwas komplexeres Beispiel. Hier haben wir ein Array ['...', '...', '...'] das mit dem Spread-Operator ... entpackt wird, um ein einzelnes Array zu erstellen: [...['...', '...', '...']]. Wenn wir nun die .length Eigenschaft auf dieses Array anwenden, wird '3' zurückgegeben, da es aus drei Elementen besteht.

Der Spread-Operator in JavaScript

Der Spread-Operator ist ein nützliches Werkzeug in JavaScript, das es ermöglicht, ein iterierbares Objekt, wie z.B. ein Array, in einzelne Elemente oder Eigenschaften aufzuteilen. Er ist besonders nützlich, wenn Sie die Elemente eines Array zur Initialisierung eines neuen Arrays verwenden möchten.

Im obigen Beispiel haben wir durch ...'...' ein Array aus Strings erstellt. Der Spread-Operator ist hier jedoch nicht zwingend notwendig. Ohne ihn hätten wir das gleiche Resultat erzielt, da die .length Eigenschaft die Anzahl der Elemente im Array zählt, unabhängig davon, wie sie hinzugefügt wurden.

Weitere Überlegungen zur .length Eigenschaft

Die .length Eigenschaft zählt nur die Elemente im Array. Wenn die Elemente selbst Arrays oder andere Objekte sind, zählt .length diese als einzelne Elemente und nicht die in ihnen enthaltenen Elemente. Um die Elemente innerhalb von verschachtelten Arrays zu zählen, müsste man durch jedes Element im Array iterieren und jede .length separat addieren.

Es ist wichtig zu bedenken, dass die .length Eigenschaft nicht unbedingt die Anzahl der definierten Elemente in einem Array darstellt. Ein Array kann "Löcher" haben – Indizes, an denen keine Werte definiert sind – und .length gibt die höchste definierte Indexnummer plus eins zurück, nicht die Anzahl der definierten Indizes. In der Praxis sollte man jedoch versuchen, Arrays ohne "Löcher" zu erstellen, um Verwirrung und unerwartetes Verhalten zu vermeiden.

Finden Sie das nützlich?