JavaScript -Typkonvertierung
- Strings in Zahlen umwandeln
- Konvertieren von Zahlen in Zeichenfolgen
- Konvertieren von Daten in Zahlen
- Konvertieren von Zahlen in Daten
- Boolesche Werte in Zahlen umwandeln
- Konvertieren von Zahlen in Boolesche Werte
JavaScript-Typkonvertierung
JavaScript-Variablen können in eine neue Variable und einen anderen Datentyp konvertiert werden:
- Durch die Verwendung einer JavaScript-Funktion
- Automatisch durch JavaScript selbst
Strings in Zahlen umwandeln
Die globale Methode Number()
kann Zeichenfolgen in Zahlen umwandeln.
Zeichenfolgen, die Zahlen enthalten (wie "3.14") werden in Zahlen (wie 3.14) umgewandelt.
Leere Zeichenfolgen werden in 0 konvertiert.
Alles andere wird in NaN
(Keine Zahl) umgewandelt.
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
Zahlenmethoden
Im Kapitel Zahlenmethoden finden Sie weitere Methoden , mit denen Sie Zeichenketten in Zahlen umwandeln können:
Method | Description |
---|---|
Number() | Returns a number, converted from its argument |
parseFloat() | Parses a string and returns a floating point number |
parseInt() | Parses a string and returns an integer |
Der unäre + Operator
Der unäre + Operator kann verwendet werden, um eine Variable in eine Zahl umzuwandeln:
Beispiel
let y = "5";
// y is a string
let x = + y;
// x is a number
Wenn die Variable nicht konvertiert werden kann, wird sie trotzdem zu einer Zahl, aber mit dem Wert NaN
(Not a Number):
Beispiel
let y = "John";
// y is a string
let x = + y; // x is a number (NaN)
Konvertieren von Zahlen in Zeichenfolgen
Die globale Methode String()
kann Zahlen in Strings umwandeln.
Es kann für jede Art von Zahlen, Literalen, Variablen oder Ausdrücken verwendet werden:
Beispiel
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
Die Number-Methode toString()
macht dasselbe.
Beispiel
x.toString()
(123).toString()
(100 + 23).toString()
Weitere Methoden
Im Kapitel Zahlenmethoden finden Sie weitere Methoden, mit denen Zahlen in Zeichenketten umgewandelt werden können:
Method | Description |
---|---|
toExponential() | Returns a string, with a number rounded and written using exponential notation. |
toFixed() | Returns a string, with a number rounded and written with a specified number of decimals. |
toPrecision() | Returns a string, with a number written with a specified length |
Konvertieren von Daten in Zahlen
Die globale Methode Number()
kann verwendet werden, um Datumsangaben in Zahlen umzuwandeln.
d = new Date();
Number(d) // returns 1404568027739
Die Datumsmethode getTime()
macht dasselbe.
d = new Date();
d.getTime() // returns 1404568027739
Konvertieren von Datumsangaben in Zeichenfolgen
Die globale Methode String()
kann Datumsangaben in Zeichenfolgen umwandeln.
String(Date()) // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
Die Date-Methode toString()
macht das gleiche.
Beispiel
Date().toString() // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
Im Kapitel Datumsmethoden finden Sie weitere Methoden, mit denen Datumsangaben in Zeichenketten umgewandelt werden können:
Method | Description |
---|---|
getDate() | Get the day as a number (1-31) |
getDay() | Get the weekday a number (0-6) |
getFullYear() | Get the four digit year (yyyy) |
getHours() | Get the hour (0-23) |
getMilliseconds() | Get the milliseconds (0-999) |
getMinutes() | Get the minutes (0-59) |
getMonth() | Get the month (0-11) |
getSeconds() | Get the seconds (0-59) |
getTime() | Get the time (milliseconds since January 1, 1970) |
Boolesche Werte in Zahlen umwandeln
Die globale Methode Number()
kann auch boolesche Werte in Zahlen umwandeln.
Number(false) // returns 0
Number(true) // returns 1
Umwandlung von Booleans in Strings
Die globale Methode String()
kann boolesche Werte in Strings umwandeln.
String(false) // returns "false"
String(true) // returns "true"
Die boolesche Methode toString()
tut dasselbe.
false.toString() // returns "false"
true.toString() // returns "true"
Automatische Typkonvertierung
Wenn JavaScript versucht, mit einem „falschen“ Datentyp zu arbeiten, versucht es, den Wert in einen „richtigen“ Typ umzuwandeln.
Das Ergebnis ist nicht immer das, was Sie erwarten:
5 + null // returns 5 because null is converted to 0
"5" + null // returns "5null" because null is converted to "null"
"5" + 2 // returns
"52" because 2 is converted to "2"
"5" - 2 // returns 3 because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Automatische Zeichenfolgenkonvertierung
JavaScript ruft automatisch die toString()
Funktion der Variablen auf, wenn Sie versuchen, ein Objekt oder eine Variable "auszugeben":
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Zahlen und Booleans werden auch konvertiert, aber das ist nicht sehr sichtbar:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
Konvertierungstabelle für JavaScript-Typen
Diese Tabelle zeigt das Ergebnis der Konvertierung verschiedener JavaScript-Werte in Number, String und Boolean:
Original Value |
Converted to Number |
Converted to String |
Converted to Boolean |
Try it |
---|---|---|---|---|
false | 0 | "false" | false | |
true | 1 | "true" | true | |
0 | 0 | "0" | false | |
1 | 1 | "1" | true | |
"0" | 0 | "0" | true | |
"000" | 0 | "000" | true | |
"1" | 1 | "1" | true | |
NaN | NaN | "NaN" | false | |
Infinity | Infinity | "Infinity" | true | |
-Infinity | -Infinity | "-Infinity" | true | |
"" | 0 | "" | false | |
"20" | 20 | "20" | true | |
"twenty" | NaN | "twenty" | true | |
[ ] | 0 | "" | true | |
[20] | 20 | "20" | true | |
[10,20] | NaN | "10,20" | true | |
["twenty"] | NaN | "twenty" | true | |
["ten","twenty"] | NaN | "ten,twenty" | true | |
function(){} | NaN | "function(){}" | true | |
{ } | NaN | "[object Object]" | true | |
null | 0 | "null" | false | |
undefined | NaN | "undefined" | false |
Werte in Anführungszeichen geben Zeichenfolgenwerte an.
Rote Werte zeigen Werte an, die (einige) Programmierer möglicherweise nicht erwarten.