Orlok: Array – Sprachelement und Standardobjekt

Beitrag lesen

Hallo

Dem ein oder anderen wird vielleicht aufgefallen sein, dass es bezüglich der Dokumentation von Arrays im Wiki zuletzt einige Veränderungen gegeben hat, wobei insbesondere die am Wochenende von mir unter Mithilfe von Matthias Scharwies vollzogene Trennung zwischen dem Sprachelement Array und dem eingebauten Konstruktor Array zu nennen ist.

Anders als beispielsweise bei Funktionen, bei denen schon früher separate Artikel für das Sprachelement Funktion und den Konstruktor Function existierten, gab es diese Trennung bei Arrays nämlich bislang nicht. Das heißt, es gab nur den Artikel zu dem Standardobjekt, in dem jedoch eher der Objekttyp Array beschrieben wurde und nicht die gleichnamige Konstruktorfunktion.

Dabei wurde sowohl sprachlich als auch strukturell nur ungenügend zwischen Arrayinstanzen, dem eingebauten Konstruktor und Array.prototype unterschieden, sodass der Artikel in seiner früheren Form meiner Meinung nach zu Missverständnissen geradezu eingeladen hat.

Wir haben also nun in der Rubrik Sprachelemente einen neuen Artikel mit dem Namen Arrays angelegt und dort zunächst einmal den ursprünglich bei dem Standardobjekt Array hinterlegten Artikel hinkopiert, da dieser sich wie gesehen im Wesentlichen mit Arrays im Allgemeinen befasst und nicht in erster Linie mit dem eingebauten Konstruktor. – Auch wenn Arrays in den Code-Beispielen des Artikels vornehmlich mittels Array erzeugt wurden, statt wie es eigentlich zu empfehlen wäre, in Literalschreibweise. Hier hat Matthias Scharwies aber schon einige Verbesserungen vorgenommen, wofür ich ihm an dieser Stelle nochmal ausdrücklich danken möchte. ;-)

const good = [3.142];

const bad = new Array(3.142); // Range Error

Nachdem der Artikel, der sich mit Arrays im Allgemeinen befasst, nun also in die Rubrik Sprachelemente verlegt wurde, blieb natürlich auf der Seite zu dem Standardobjekt Array eine große Lücke. Wobei diese Lücke, inhaltlich betrachtet, genau genommen schon vorher existierte und sie nur durch die dort eigentlich nicht hingehörenden Ausführungen zum Sprachelement Array verdeckt wurde.

Darum habe ich nun einen entsprechenden Artikel geschrieben, der sich mit dem Standardobjekt Array befasst, wobei ich allerdings nicht nur Prosa hinzugefügt, sondern auch die Übersicht am Seitenanfang komplett überarbeitet habe. Die Übersicht entspricht nun dem Schema, das ich beim Schreiben des bis dato im Wiki nicht existierenden Artikels zum Konstruktor Object entwickelt hatte.

Ein allgemeines Konzept für die Übersichten am Seitenanfang bei der Dokumentation von eingebauten Objekten gab es bis zu diesem Zeitpunkt nämlich nicht, und ich war und bin der Ansicht, dass eine einheitliche und widererkennbare Übersicht am Seitenanfang der Nutzbarkeit und damit schlussendlich auch dem Verständnis von entsprechenden Artikeln zuträglich ist. Zumal ich es sehr praktisch finde, wenn bereits in der Einleitung die wichtigsten Daten und Verlinkungen aufgeführt sind, und die Angaben etwa zur Syntax, zu Attributen, gegebenenfalls zum Prototyp und zu Eigenschaften und Methoden, eigenen und vererbten, nach einem einheitlichen Schema präsentiert werden.

In diesem Zusammenhang möchte ich jedenfalls nochmals Matthias Apsel dafür danken, dass er meine zunächst mittels Inline Styles improvisierte Übersicht zu den Attributen von Eigenschaften in eine richtige Vorlage übertragen hat, die nunmehr auch für die Angabe der jeweiligen Syntax verwendet werden kann. Das einzige Manko daran ist, dass die Vorlage nur für Data Properties verwendet werden kann, nicht aber für Property Accessors, also Getter und Setter. Da letztere bei eingebauten Objekten aber ohnehin die absolute Ausnahme darstellen, sollte das kein großes Problem sein.

Schließlich habe ich bei bei der Übersicht zum Artikel Array auch die Liste der eigenen und vererbten Methoden einem Update unterzogen, sodass nunmehr jede eingebaute Methode zumindest aufgelistet ist, auch wenn für einige noch keine Artikel existieren, was unter anderem auch auf die vererbte Methode Array.prototype.fill zutraf. Für diese Methode habe ich allerdings einen Artikel geschrieben, ebenso wie für die eigenen Methoden Array.isArray und Array.of, die bislang ebenfalls noch keine Artikel hatten. Darüber hinaus habe ich noch einige Kleinigkeiten ergänzt und einige Absätze zu Array.length und zur Eigenschaft constructor von Array.prototype geschrieben, sowie hier und da einen Link gesetzt und die ein oder andere missverständliche oder falsche Formulierung korrigiert.

Jedenfalls, auch wenn immernoch viel fehlt und bestehende Artikel überarbeitet werden müssen, denke ich doch, dass wir hier einiges zur Verbesserung des Wikis beigetragen haben. :-)

Also danke für euer Interesse und beste Grüße,

Orlok

akzeptierte Antworten