JavaScript - Datenstrukturen
JavaScript Datenstrukturen
Datenstrukturen
Eine Datenstruktur ist ein Objekt, das zur Speicherung und Organisation von Daten verwendet wird.
Datenstrukturen ermöglichen die einfache Verarbeitung mehrerer gleichartiger Werte.
Datenstrukturen (2)
Eine Datenstruktur ist eine Sammlung mehrerer logisch zusammengehöriger Werte.
Die einfachste Datenstruktur ist eine Liste von Werten.
Je nach Datenstruktur werden die enthaltenen Werte unterschiedlich strukturiert.
Datenstrukturen (3)
Manche Datenstrukturen erlauben das mehrfache Speichern gleicher Werte. Andere Datenstrukturen ordnen die Werte bereits beim Speichern in der Datenstruktur.
Jede Datenstruktur unterstützt dazu unterschiedliche Methoden und Konzepte.
Collections in JavaScript
Die JavaScript Sprachspezifikation definiert folgende Collections:
- Array
- Set
- Map
- Queue
Array
Ein Array ist eine Datenstruktur, die eine Menge von Werten unter einem einzelnen Namen verwaltet.
Jedem Arrayelement ist ein Index zugeordnet. Der Zugriff auf die Elemente eines Arrays wird über den Index gesteuert.
Array (2)
Array (3)
Array (4)
Der Zugriff auf die Elemente eines Arrays wird über den Indexoperator gesteuert.
Array (5)
Arrayfunktionen
Eine Arrayvariable in JavaScript ist ein Objekt, das auch Funktionen anbietet.
Eine Funktion kann auf einem Objekt angesprochen werden, indem nach dem Variablenname ein Punkt, gefolgt vom Namen der Funktion geschrieben wird. Eine Funktion wird aufgerufen indem nach dem Funktionsnamen runde Klammern geschrieben werden, die auch Parameter aufnehmen können.
Arrayfunktionen (2)
Wichtige Arrayfunktionen
- push
- Mit der push Funktion wird ein neues Element am Ende des Arrays hinzugefügt.
- pop
- Mit der pop Funktion wird das letzte Element eines Arrays gelöscht. Das gelöschte Element wird als Rückgabewert zurückgegeben.
- shift
- Mit der shift Funktion wird das erste Element eines Arrays entfernt. Das gelöschte Element wird als Rückgabewert zurückgegeben. Der Index der verbleibenden Elemente wird angepasst.
- unshift
- Mit der unshift Funktion wird ein Element an erster Stelle eingefügt. Der Index der verbleibenden Elemente wird angepasst.
Arrayfunktionen Beispiel
Arrayfunktionen Beispiel (2)
Fallbeispiel Arrays
Map
Eine Map ist eine Datenstruktur, welche eine Liste von Schlüssel-Werte Paaren verwaltet. Der Schlüssel wird verwendet, um den gespeicherten Wert nachzuschlagen.
Eine Map kann z.B. mit einem Telefonbuch oder einer Kartei verglichen werden. Der Name einer Person dient dabei als Schlüssel, um die Telefonnummer - den Wert - zu finden.
Map Beispiel
Strukturierte Datentypen
Strukturierte Datentypen fassen logisch zusammenhängende Variablen zu einem strukturellen Verband zusammen.
Strukturierte Datentypen bilden die Grundlage der modernen Programmierung.
JavaScript Objekte
Objekte in Javascript können dazu verwendet werden, um Daten in strukturierter Form zu erstellen. Struktur bedeutet, dass zusammenhängende Daten in demselben Objekt gespeichert werden und dass Objekte eine Datenhierarchie haben können.
JavaScript Objekte Beispiel
Das Objekt das in der Variable airship
gespeichert wird, beinhaltet 5 Eigenschaften (Properties), die als Schlüssel - Wert Paare festgelegt sind.
JavaScript Objekte Beispiel (2)
Auf einzelne Eigenschaften eines Objekts kann man mit dem Punkt Operator zugreifen.
Das airship
Objekt wird nun durch folgende Werte beschrieben.
JavaScript Objekte Beispiel (3)
Die einzelnen Eigenschaften (Properties) eines Objekts können genauso gelesen und beschrieben werden, wie wir es von anderen Variablen bereits kennen.
JavaScript Objekte Beispiel (4)
JavaScript Objekthierarchie
Die Eigenschaften eines Objekts können selbst Objekte oder Arrays sein.
JavaScript Objekte - Verändern der Struktur
JavaScript Objekte sind was ihre Struktur betrifft, hochdynamische Datenverbunde.
Die Struktur von JavaScript Objekten kann zur Laufzeit eines Programms verändert werden.
Funktionen als Objekteigenschaften
Die Eigenschaften von Objekten können nicht nur Daten aufnehmen, sondern auch Funktionen.
Wird eine Funktion in einem Objekt als Eigenschaft angegeben kommt zuerst der Name der Funktion als Name für die Eigenschaft, gefolgt von einem Doppelpunkt. Danach erfolgt die Funktionsdefinition, wobei der Name hier entfällt.
Schlüsselwort this
Um in Funktionen, die als Objekteigenschaften definiert wurden auf andere Eigenschaften desselben Objekts zugreifen zu können benötigen wir ein eigenes Schlüsselwort: this
Das Schlüsselwort this
ist immer eine Referenz auf das Objekt in dem sich die Funktion befindet.