Number() verwandelt sich in eine Zahl, String() wandelt in einen String, Boolean() wandelt in einen Boolean.
JavaScript-Datentypen
In JavaScript gibt es 5 verschiedene Datentypen, die Werte enthalten:
- string
- number
- boolean
- object
- function
Es gibt drei Arten von Objekten:
- Object
- Date
- Array
Und zwei Datentypen, die nicht Werte enthalten:
- null
- undefined
Der typeof Operator
Sie können die Verwendung typeof Operator den Datentyp einer JavaScript - Variablen zu finden.
Beispiel
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Versuch es selber " Bitte beachten Sie:
- Der Datentyp von NaN ist die Nummer
- Der Datentyp eines array ist Gegenstand
- Der Datentyp eines date ist Objekt
- Der Datentyp von null ist Objekt
- Der Datentyp einer undefined Variable ist nicht definiert
Sie können nicht verwenden typeof , um zu bestimmen , ob ein JavaScript - Objekt ist ein Array (oder ein Datum).
Der Datentyp des typeof
Der typeof - Operator ist keine Variable. Es ist ein Operator. Operatoren ( + - * / ) keine Datentyp haben.
Aber die typeof kehrt Operator immer eine Zeichenfolge , die den Typ des Operanden enthält.
Der constructor Property
Der constructor Eigenschaft gibt den Konstruktor - Funktion für alle JavaScript - Variablen.
Beispiel
"John".constructor
// Returns function String() { [native code] }
(3.14).constructor
// Returns function Number() { [native code] }
false.constructor
// Returns function Boolean() { [native code] }
[1,2,3,4].constructor
// Returns function Array() { [native code] }
{name:'John', age:34}.constructor
// Returns function Object() { [native code] }
new Date().constructor
// Returns function Date() { [native code] }
function () {}.constructor
// Returns function Function(){ [native code] }
Versuch es selber " Sie können den Konstruktor Eigenschaft überprüfen , um herauszufinden , ob ein Objekt ein Array ist (das Wort enthält "Array" ):
Beispiel
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Versuch es selber " Sie können den Konstruktor Eigenschaft überprüfen , um herauszufinden , ob ein Objekt ein Datum ist (das Wort enthält "Date" ):
Beispiel
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Versuch es selber " JavaScript Typumwandlung
JavaScript-Variablen können auf eine neue Variable und anderen Datentyp umgewandelt werden:
- Durch die Verwendung einer JavaScript-Funktion
- Automatisch durch JavaScript selbst
Konvertieren von Zahlen in Strings
Die globale Methode String() können Zahlen in Strings konvertieren.
Sie kann auf jede Art von Zahlen, Literale, Variablen oder Ausdrücke 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
Versuch es selber " Die Anzahl Methode toString() macht das gleiche.
Im Kapitel Anzahl Methoden , werden Sie mehr Methoden finden , die verwendet werden können Zahlen in Strings zu konvertieren:
Methode | Beschreibung |
---|---|
toExponential() | Gibt einen String mit einer Zahl gerundet und geschrieben exponentielle Notation. |
toFixed() | Gibt einen String mit einer Zahl gerundet und geschrieben mit einer bestimmten Anzahl von Dezimalstellen. |
toPrecision() | Gibt einen String zurück, mit einer Reihe mit einer bestimmten Länge geschrieben |
Konvertieren von Booleans zu Strings
Die globale Methode String() kann booleans in Strings konvertieren.
String(false) // returns "false"
String(true) // returns "true"
Die Boolesche Methode toString() macht das gleiche.
false.toString() // returns "false"
true.toString() // returns "true"
Konvertieren von Daten zu Strings
Die globale Methode String() können Termine in Strings konvertieren.
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Das Datum der Methode toString() macht das gleiche.
Beispiel
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Im Kapitel Datum Methoden , werden Sie mehr Methoden finden , die verwendet werden können Termine in Strings zu konvertieren:
Methode | Beschreibung |
---|---|
getDate() | Holen Sie sich den Tag als Zahl (1-31) |
getDay() | Holen Sie sich das an Wochentagen eine Zahl (0-6) |
getFullYear() | Holen Sie sich das vierstellige Jahr (yyyy) |
getHours() | Holen Sie die Stunde (0-23) |
getMilliseconds() | Holen Sie sich die Millisekunden (0-999) |
getMinutes() | Holen Sie sich die Minuten (0-59) |
getMonth() | Holen Sie sich den Monat (0-11) |
getSeconds() | Holen Sie sich die Sekunden (0-59) |
getTime() | Holen Sie sich die Zeit (Millisekunden seit dem 1. Januar 1970) |
Konvertieren von Strings in Zahlen
Die globale Methode Number() können Strings in Zahlen zu konvertieren.
Strings mit Zahlen (wie "3.14" ) zu konvertieren Nummern (zB 3.14).
Leere Zeichenfolgen konvertieren auf 0.
Alles andere wandelt auf NaN (Not a number).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
Im Kapitel Anzahl Methoden , werden Sie mehr Methoden finden , die verwendet werden können Strings in Zahlen zu konvertieren:
Methode | Beschreibung |
---|---|
parseFloat() | Analysiert einen String und gibt eine Fließkommazahl |
parseInt() | Analysiert einen String und gibt eine ganze Zahl |
Die Unary + Operator
Der einstellige + Operator kann verwendet werden , um eine Variable eine Zahl zu konvertieren:
Wenn die Variable nicht konvertiert werden kann, wird es immer noch eine Reihe werden, aber mit dem Wert NaN (Not a number):
Konvertieren von Booleans zu Zahlen
Die globale Methode Number() können auch booleans in Zahlen umgewandelt.
Number(false) // returns 0
Number(true) // returns 1
Konvertieren von Daten zu Zahlen
Die globale Methode
d = new Date();
Number(d) // returns 1404568027739
Das Datum Methode getTime() macht das gleiche.
d = new Date();
d.getTime() // returns 1404568027739
Automatische Typumwandlung
Wenn JavaScript versucht, auf einem "falschen" Datentyp zu betreiben, wird es versuchen, den Wert auf einen "richtigen" Typ zu konvertieren.
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
Versuch es selber " Automatische String Conversion
JavaScript ruft automatisch die Variablen toString() Funktion , wenn Sie versuchen, "Ausgang" ein Objekt oder eine Variable:
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 Boolesche Werte werden dabei auch umgesetzt, 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"
JavaScript Typ Umrechnungstabelle
Diese Tabelle zeigt das Ergebnis der Umwandlung verschiedener JavaScript Werte Number, String und Boolean:
Original Wert | Umgewandelt Ziffer | Umgewandelt zu String | Umgewandelt in Boolean | Versuch es |
---|---|---|---|---|
false | 0 | "false" | false | Versuch es " |
true | 1 | "true" | true | Versuch es " |
0 | 0 | "0" | false | Versuch es " |
1 | 1 | "1" | true | Versuch es " |
"0" | 0 | "0" | true | Versuch es " |
"1" | 1 | "1" | true | Versuch es " |
NaN | NaN | "NaN" | false | Versuch es " |
Infinity | Infinity | "Infinity" | true | Versuch es " |
-Infinity | -Infinity | "-Infinity" | true | Versuch es " |
"" | 0 | "" | false | Versuch es " |
"20" | 20 | "20" | true | Versuch es " |
"twenty" | NaN | "twenty" | true | Versuch es " |
[ ] | 0 | "" | true | Versuch es " |
[20] | 20 | "20" | true | Versuch es " |
[10,20] | NaN | "10,20" | true | Versuch es " |
["twenty"] | NaN | "twenty" | true | Versuch es " |
["ten","twenty"] | NaN | "ten,twenty" | true | Versuch es " |
function(){} | NaN | "function(){}" | true | Versuch es " |
{ } | NaN | "[object Object]" | true | Versuch es " |
null | 0 | "null" | false | Versuch es " |
undefined | NaN | "undefined" | false | Versuch es " |
Die Werte in Anführungszeichen angeben String-Werte.
Rote Werte zeigen Werte (einige) Programmierer erwarten nicht.