Number, String, Boolean – Javascript Datentypen

Programme sortieren Schulfreunde nach den Vornamen ihrer Frauen, verwalten Bücher, prüfen Formulare oder animieren Elemente einer Webseite. Dazu arbeitet das Programm mit Daten, die in verschiedenen Datentypen fallen: von Zahlen über Strings oder Zeichenfolgen bis null oder undefined.

Javascript Number, String, Boolean

Einfache und zusammengesetzte Datentypen

Datentypen geben an, ob die Daten Zahlen (Integer), Zeichenketten (Strings) oder Wahrheitswerte (Boolean) sind, oder zusammengesetzte Javascript Objekte.

Javascript-Datentypen können in zwei Kategorien unterteilt werden: einfache (primitive data types) und zusammengesetzte (objects). Einfache Datentypen sind z.B. Fließkommazahlen wie 5.7 oder Zeichenketten wie "Hallo Welt".

  • special
    • Null
    • Undefined
  • primitives
    • Number
    • String
    • Boolean
    • Symbol
  • objects
    • Object
      • Function
      • Array
      • Date
      • RegExp
      • BigInt

null und undefined sind spezielle Werte, wobei man null auch als primitiven Datentyp betrachten kann.

Number: Integer und Float

Javascript kennt zwei Arten von numerischen Werten: ganze Zahlen und Fließkommazahlen. Alle Zahlen in JavaScript sind 64-Bit mit doppelter Gleitkomma- oder Fließkommagenauigkeit.

Integer speichern ganzzahlige Werte ohne Komma und Dezimalstellen (z.B. 113). Integer können dezimal zur Basis 10, oktal zur Basis 8 und hexadezimal zu Basis 16 dargestellt werden und entweder positiv oder negativ sein. Wie groß ein Integer werden kann, hängt von der Plattform ab (z.B. 10308 oder 10–308 ), aber die Obergrenze wird kaum von einem Script erreicht werden.

let preis = 2;

Fließkommazahlen (Float) enthalten einen Dezimalpunkt (kein Komma!):

let preis = 2.00;

Fließkommazahlen werden mit einen Dezimalpunkt notiert oder als Exponent dargestellt. Der Buchstabe "e" für den Exponenten kann ein kleiner oder ein großer Buchstabe sein.

BigInt

BigInt ist ein natives Objekt, das einen BigInt-Wert zurückgibt, eine ganze Zahl, die größer ist als 253 - 1. Das ist die größte Zahl, die Javascript als Number behandeln kann.

BitInt-Werte können nicht mit dem eingebauten Math-Objekt benutzt und nicht mit anderen Number-Werten gemischt werden. Sie werden durch Anhängen eines "n" ans Ende eines Integer-Literals oder durch den Aufruf von BigInt erzeugt.

const bigint = 1234567890123456789012345678901234567890n;
const bigintFromLiteral = BigIng("1234567890123456789012345678901234567890");
const bitintFromNumber  = BigIng("100"); // ist 100n

console.log (100n + 200n); // 300
console.log (50n / 23n);   // 2

BigInt ist ziemlich neu, Unterstützung nur von den immergrünen Browsern, Safari erst ab Version 14.

Javascript Strings

Strings sind Zeichenketten aus Wörtern, Zeichen oder Ziffern, die durch einfache oder doppelte Hochkommas vom Programmcode abgegrenzt sind.

let myString = "Hallo Welt!";

Typische Zeichenketten sind "Heinz Lehmann" und "Vluyn ist eine Stadt knapp 20 KM vor der holländischen Grenze." oder "https://www.mediaevent.de".

Javascript Boolean

Der Datentyp Boolean ist ein logischer Wahrheitswert, der nur einen von zwei Werten annehmen kann: true oder false. Man kann sich die Werte auch als „ja“ oder „nein“ vorstellen. Boolean wird für den Vergleich in Bedingungen eingesetzt: Wenn Werte miteinander verglichen werden, ist das Ergebnis true oder false.

let zahl = 15;

if (zahl > 0) { 
  // Anweisungen
} else {
  // andere Anweisungen
}

Der Ausdruck zahl > 0 liefert true. Wenn zahl im Verlauf des Programms geändert wird und den Wert -1 annimmt, wird der Ausdruck zahl > 0 false.

Datentyp konvertieren

JavaScript ist eine dynamisch typisierte Sprache – das bedeutet, dass kein Datentyp bei der Deklaration einer Variablen angegeben wird und der Javascript-Interpreter während der Ausführung des Programms bei Bedarf Datentypen automatisch konvertiert. Die folgende Konstruktion führt dementsprechend nicht zu einem Fehler:

let antwort = 42; 
…
// Zuweisung eines anderen Datentyps an einer 
// anderen Stelle des Programms

antwort = "Warum existiert der Mensch?";

Die Variable antwort enthält bei der Deklaration einen Wert vom Typ Integer. Wenn ihr später im Programm der Stringwert "Warum existiert der Mensch" zugewiesen wird, konvertiert der Javascript-Interpreter den Datentyp von antwort automatisch von Integer zu String.

In Ausdrücken, die numerische Werte und Zeichenketten durch den +-Operator verbinden, konvertiert Javascript numerische Werte zu Zeichenketten:

let frage = "Warum existiert der Mensch? " + 42; 
// gibt "Warum existiert der Mensch? 42" zurück

Bei anderen Operatoren als dem +-Operator konvertiert Javascript numerische Werte nicht in Zeichenketten:

let num = "42" + 2 // gibt 422 zurück
let num = "42" - 2 // gibt 40 zurück

Konventionen

  • Addiert ein Skript einen Integer- und einen Float-Wert, ist das Ergebnis eine Fließkommazahl.
  • Verbindet ein Skript einen numerischen Wert und einen String durch den +-Operator, ist das Ergebnis in String.

Javascript Objekte

Einfache Datentypen wie Integer und Boolean können immer nur einen einzelnen Wert speichern. Zusammengesetzte Datentypen – auch als komplexe Datentypen und im Weiteren als Objekte bezeichnet – können hingegen mehr als eine Komponente speichern.

Objekte sind Sammelbehälter für Daten der unterschiedlichsten Art. Es gibt drei große Gruppen von Javascript-Objekten:

  • Objekte, die Javascript selber zur Verfügung stellt (Array, Boolean, Date, Math, Number, String),
  • Objekte, die der Client-Browser zur Verfügung stellt (Window, Document, ...),
  • Objekte, die der Programmierer konstruiert, z.B. um die Daten eines Adressbuchs oder die Bilder einer Slideshow zu beschreiben.
Suchen auf mediaevent.de