JavaScript/Tutorials/Einstieg/Datentypen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Wir haben Werte in Variablen gespeichert und an alert() übergeben. Bisher waren das aber nur Zahlen oder Zeichenketten.

In diesem Kapitel lernen Sie, wie Sie verschiedene Arten von Werten (sogenannte Datentypen) unterscheiden können, wie JavaScript damit umgeht, und wie Sie das in Ihren Programmen nutzen können.

Einfache Datentypen

In JavasScript werden gewisse Arten von Werten als primitiv bezeichnet, weil ihre Struktur sehr einfach ist. Dazu zählen z.B. Wahrheitswerte (Boolean), Zahlen, Zeichenketten und Werte, die für „nichts“ stehen.

einfache Datentypen
let a;

a = 17;        // Ganzzahl (Integer)
a = 1.7;       // Dezimalzahl (Float)
a = true;      // Wahrheitswert (Boolean)
a = 'abc';     // Zeichenkette (String)
a = null;      // Wert für „nichts“
a = undefined; // Wert für „unbekannt“
Beachten Sie: In JavaScript ist es möglich, in einer Variable den Datentyp zu wechseln. Im obigen Beispiel wird der Variable a der Reihe nach immer wieder ein Wert eines neuen Datentyps gegeben. In anderen Programmiersprachen muss bereits beim Anlegen (Deklarieren) einer Variable, wie hier in der ersten Zeile mit dem Schlüsselwort let, auch der für diese Variable reservierte Datentyp definiert werden. In JavaScript ist das nicht so, denn JavaScript ist nicht streng typisiert, sondern lose typisiert. Dieser Umstand macht JavaScript enorm flexibel, kann aber auf der anderen Seite bedeuten, dass bestimmte Programmfehler unter Umständen nicht so leicht gefunden werden.

Das Kapitel JavaScript/Datentyp beschäftigt sich genauer mit diesen Datentypen.

Komplexere Datentypen: Objekte

Manchmal braucht es nicht nur eine Zahl, sondern eine Liste an Zahlen. Eine solche Liste nennt man ein Array. Das gibt es auch in JavaScript:

Array in JavaScript
let fibonacci = [1,1,2,3,5,8,13,21];
fibonacci[5]; // 8

Das Beispiel definiert eine Zahlenliste mit den ersten acht Zahlen der Fibonacci-Reihe. Danach wird auf die Konsole die sechste der Zahlen ausgegeben. Warum nicht die fünfte Zahl? Weil die „Hausnummern“ der Werte in einem Array mit der Zahl null beginnen, also null-basiert durchnummeriert sind, ist die Hausnummer für den sechsten Wert eine acht. Mit den eckigen Klammern nach dem Variablennamen kann man dann auf das jeweilige Element zugreifen.

Ein Array ist ein sogenanntes Objekt und „kann“ deshalb noch viel mehr, als nur eine Liste an Zahlen speichern. Was es alles noch kann, steht im Hauptartikel zu Arrays: JavaScript/Objekte/Array.

Zugriff auf einzelnes Zeichen einer Zeichenkette
let meldung = 'SELFHTML ist die deutschsprachige Dokumentation zu Webtechniken im Internet.';
meldung[5]; // T

Auch bei Zeichenketten kann man mit der Klammern-Schreibweise auf ein einzelnes Zeichen zugreifen, ähnlich wie bei Arrays, allerdings sind Zeichenketten und Arrays ansonsten sehr verschiedene Datentypen.

Eigene Objekte definieren

Wegen seiner dynamischen Natur und seiner Entwicklungsgeschichte gibt es in JavaScript oft verschiedene Wege oder Schreibweisen, wie man ein Objekt anlegen kann. Im obigen Beispiel ist das Array in ausgeschriebener Form notiert, als durch Kommata getrennte Liste an Werten, eingerahmt von einem eckigen Klammernpaar. Das nennt man ein Literal. Mit einem Literal kann man auch ein eigenes Objekt definieren:

eigenes Objekt in JavaScript
const Person = {
  name: 'Anna',
  alter: 31,
  ledig: true
};

Person.name;  // Anna
Person.alter; // 31
Person.ledig; // true

Im Beispiel wird die Variable Person mit dem Schlüsselwort const als Konstante definiert. Ihr Wert ist ein Objekt, dessen Struktur als Objektliteral abgebildet ist. Im Literal werden drei Eigenschaften des Objekts, sozusagen dem Objekt gehörende Variablen, definiert und mit Werten versehen. Die Werte drei Eigenschaften kann man mit der Punkt-Schreibweise erhalten.

Anfangs sind Objekte vielleicht ein bisschen zu abstrakt, um sie gleich produktiv verwenden zu können. Aber im übernächsten Kapitel wird vielleicht schnell klar, warum sie so nützlich und deswegen wichtig sind.