Line 147: | Line 147: | ||
c = a + b; | c = a + b; | ||
// c ist nun ein String mit dem Wert "54"! | // c ist nun ein String mit dem Wert "54"! | ||
</source> | |||
====Explizite Typumwandlung==== | |||
Trotz der nicht expliziten Typen von JavaScript Variablen, lassen sich aber explizite Typumwandlungen (Typecasting) vornehmen. | |||
<source lang="JavaScript" line hilight="1"> | |||
var a = "5"; | |||
typeof a; | |||
// "string" | |||
var b = parseInt(a); | |||
typeof b; | |||
// "number" | |||
</source> | |||
Ein weiteres Beispiel. | |||
<source lang="JavaScript" line hilight="1"> | |||
var a = "5.5"; | |||
var b = parseInt(a) | |||
typeof b; | |||
// "number" | |||
// b hat aber den Wert 5 (Ganzzahl) | |||
var c = parseFloat(a); | |||
typeof c; | |||
// "number" | |||
// c hat aber den Wert 5.5 (Kommazahl) | |||
</source> | |||
Wie man sehen kann, geben parseInt und parseFloat verschiedene Werte zurück, obwohl der Typ der Rückgabe beide Male ein Objekt der Klasse Number ist. | |||
Eine andere Möglichkeit der Umwandlung von Typen ist das Erstellen eines neuen Objekts der gewünschten Zielklasse. | |||
<source lang="JavaScript" line hilight="1"> | |||
var a = "5.5"; | |||
var b = Number(a); | |||
typeof b; | |||
// "number" (Wert: 5.5) | |||
var c = Boolean(a); | |||
typeof c; | |||
// "boolean" (Wert: true) | |||
var d = String(c); | |||
typeof d; | |||
// "string" (Wert: "true") | |||
</source> | </source> | ||