Neueste Web-Entwicklung Tutorials
 

JavaScript Typumwandlung


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.

Beispiel

x.toString()
(123).toString()
(100 + 23).toString()
Versuch es selber "

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:

Beispiel

var y = "5";      // y is a string
var x = + y;      // x is a number
Versuch es selber "

Wenn die Variable nicht konvertiert werden kann, wird es immer noch eine Reihe werden, aber mit dem Wert NaN (Not a number):

Beispiel

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Versuch es selber "

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 Number () kann verwendet werden , Daten in Zahlen umwandeln.

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
false0"false"false Versuch es "
true1"true"true Versuch es "
00"0"false Versuch es "
11"1"true Versuch es "
"0"0"0"true Versuch es "
"1"1"1"true Versuch es "
NaNNaN"NaN"false Versuch es "
InfinityInfinity"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 "
null0"null"false Versuch es "
undefinedNaN"undefined"false Versuch es "

Die Werte in Anführungszeichen angeben String-Werte.

Rote Werte zeigen Werte (einige) Programmierer erwarten nicht.