7.3.4 Umwandlung von Variablentypen

Bisher haben wir gelernt, wie wir Operatoren benutzen, wenn wir zwei (oder mehr) gleichartige Variablen haben. Es ist jedoch auch möglich, verschiedene Variablentypen zu kombinieren oder einen Typ in einen anderen umzuwandeln.

Automatische Typenkonvertierung

JavaScript führt in einigen Fällen automatisch Typenkonvertierungen durch. Diese können nützlich sein, aber auch zu unerwarteten Ergebnissen führen.

let bekanntesGedicht = true;
bekanntesGedicht = bekanntesGedicht + ""; 
// Der Wahrheitswert wird zur Zeichenkette

let jahreszahl = "2000";
jahreszahl = jahreszahl * 1; 
// Die Zeichenkette wird zur Zahl (also 2000)

let veroeffentlichung = jahreszahl + 9; 
// Das Ergebnis ist 2009

Vorsicht bei automatischen Typenkonvertierungen

Automatische Typkonvertierungen können zu unvorhersehbaren Ergebnissen führen. Vermeiden Sie, diese Konvertierungen unkontrolliert zuzulassen.

1
2
3
4
5
let x;
x = 1 + 2;       // 3
x = 1 + "2";     // "12" (Zahl + String → String)
x = 1 - "2";     // -1 (String → Zahl → Rechnung)
x = 1 - "y";     // NaN (not a number)

Kontrollierte Typenumwandlung

JavaScript stellt Funktionen zur Verfügung, mit denen Sie die Typkonvertierung steuern können. Dazu gehören die Parser parseInt, parseFloat und die Methode toString.

Funktionen zur Umwandlung

Funktionen zur Umwandlung Aufgabe Hinweis
parseInt Wandelt eine Zeichenkette in eine ganze Zahl um. Stoppt beim ersten nicht-numerischen Zeichen.
parseFloat Wandelt eine Zeichenkette in eine Fließkommazahl um. Verwendet einen Punkt, kein Komma.
toString Wandelt eine Zahl oder einen anderen Typ in eine Zeichenkette um. Wird oft für Strings aus Zahlen verwendet.

Beispiele zur Typenumwandlung mit parseInt, parseFloat und toString

let jahreszahl = "2000";
jahreszahl = parseInt(jahreszahl); 
// Wandelt den String "2000" in die Zahl 2000

let verbrauch = "18.3";
verbrauch = parseFloat(verbrauch); 
// Wandelt den String "18.3" in die Zahl 18.3

let punktestand = 42;
let punktestandString = punktestand.toString(); 
// Wandelt die Zahl 42 in den String "42"

Weiterführende Ressourcen