Heim > Artikel > Web-Frontend > Grundlegendes zur Datentypkonvertierung in JavaScript
In JavaScript werden Datentypen verwendet, um einen bestimmten Datentyp zu klassifizieren und die Werte zu bestimmen, die diesem Typ zugewiesen werden können, sowie die Operationen, die darauf ausgeführt werden können.
Während JavaScript viele Werte aufgrund von Typzwang automatisch konvertiert, ist es oft am besten, Werte zwischen Typen manuell zu konvertieren, um die gewünschten Ergebnisse zu erzielen.
Dieses Tutorial führt Sie durch die Konvertierung der grundlegenden Datentypen von JavaScript, einschließlich Zahlen, Zeichenfolgen und booleschen Werten.
Implizite Konvertierungen
Als Programmiersprache weist JavaScript eine hohe Toleranz gegenüber unerwarteten Werten auf. Daher versucht JavaScript, unerwartete Werte zu konvertieren, anstatt sie direkt abzulehnen. Diese implizite Konvertierung wird Typzwang genannt.
Einige Methoden konvertieren Werte automatisch, um sie zu verwenden. Die Methode „alert()“ akzeptiert einen String als Parameter, konvertiert andere Typen jedoch automatisch in einen String. Daher können wir der Methode einen numerischen Wert übergeben:
alert(8.5);
Wenn wir die obige Codezeile ausführen, gibt der Browser ein Popup-Warndialogfeld mit dem Wert 8,5 zurück, dieser wird jedoch in eine Zeichenfolge konvertiert.
Wenn Sie mit Zeichenfolgen arbeiten, die über mathematische Operatoren als Zahlen ausgewertet werden können, werden Sie feststellen, dass JavaScript diese Werte verarbeiten kann, indem es die Zeichenfolge implizit in eine Zahl umwandelt, wie im folgenden Beispiel gezeigt.
// Subtraction "15" - "10";
Ausgabe: 5
// Modulo "15" % "10";
Ausgabe: 5
Allerdings funktioniert nicht jeder Operator wie erwartet. Es gibt offensichtliche Probleme mit dem +-Operator, da er eine Addition oder eine Zeichenfolgenverkettung darstellen kann.
// When working with strings, + stands for concatenation "2" + "3";
Ausgabe: „23“
Da der +-Operator vielseitig einsetzbar ist, werden die Zeichenfolgenwerte 2 und 3 zum Zeichenfolgenwert 23 verkettet, anstatt zur Zahl 5 addiert zu werden, obwohl es sich um numerische Zeichenfolgen handelt.
Da Mehrdeutigkeiten bestehen können und manchmal zu unerwarteten Ergebnissen führen, ist es normalerweise am besten, so viele Datentypen wie möglich in Ihrem Code explizit zu konvertieren. Dies hilft dabei, Eingaben von Benutzern zu verwalten und Fehler zu beheben.
Wert in String konvertieren
Ein Wert kann explizit in einen String konvertiert werden, indem String() oder N.ToString() aufgerufen wird.
Mit der Funktion String() konvertieren wir den booleschen Wert in einen String, indem wir den Wert true an den Parameter von String() übergeben.
String(true);
Wenn wir dies tun, wird das String-Literal „true“ zurückgegeben.
Ausgabe: „true“
Alternativ können wir der Funktion eine Zahl übergeben.
String(49);
gibt das String-Literal dieser Zahl zurück.
Ausgabe: „49“
Lassen Sie uns die Funktion String() mit einer Variablen verwenden. Wir weisen der Variablen odyssey einen numerischen Wert zu und verwenden dann den Operator typeof, um den Typ zu überprüfen.
let odyssey = 2001; console.log(typeof odyssey);
Ausgabe: Zahl
Zu diesem Zeitpunkt wird der Variablen Odyssee der Wert 2001 zugewiesen und wir haben bestätigt, dass es sich um eine Zahl handelt.
Jetzt ordnen wir Odyssey seinem String-Äquivalent zu und bestätigen dann mit typeof, dass wir den Wert der Variablen erfolgreich von einer Zahl in einen String konvertiert haben.
odyssey = String(odyssey); // "2001" console.log(typeof odyssey);
Ausgabe: Zeichenfolge
Im obigen Beispiel haben wir bestätigt, dass Odyssey nach der Datentypkonvertierung einem Zeichenfolgenwert neu zugewiesen wird.
Wir können n.toString() auf ähnliche Weise verwenden. Wir können n durch eine Variable ersetzen:
let blows = 400; blows.toString();
Die Variable blow wird als String zurückgegeben.
Ausgabe: „400“
Alternativ können wir den Wert in Klammern anstelle der n.toString()-Variable setzen:
(1776).toString(); // returns "1776" (false).toString(); // returns "false" (100 + 200).toString(); // returns "300"
Mit String() oder n.toString() können wir Convert Boolean oder Numeric anzeigen Datentypwerte in String-Werte umwandeln, um sicherzustellen, dass sich der Code wie erwartet verhält.
Wert in Zahl umwandeln
Beim Konvertieren des Werts in einen numerischen Datentyp verwenden wir die Methode number(). Zuerst wandeln wir eine numerische Textzeichenfolge in eine Zahl um, wir können aber auch boolesche Werte umwandeln.
Wir können eine Zahlenzeichenfolge an die Methode number() übergeben:
Number("1984");
Die Zeichenfolge wird in eine Zahl umgewandelt und nicht mehr in Anführungszeichen gesetzt.
Ausgabe: 1984
Wir können einer Variablen auch einen String zuweisen und ihn dann konvertieren.
let dalmatians = "101"; Number(dalmatians);
Ausgabe: 101
Das String-Literal „101“ wird über seine Variablen in die Zahl 101 umgewandelt.
Leere oder leere Zeichenfolgen werden in 0 konvertiert.
Number(" "); // returns 0 Number(""); // returns 0
Beachten Sie, dass nicht numerische Zeichenfolgen in NaN konvertiert werden, was nicht numerisch bedeutet. Hierzu zählen auch durch Leerzeichen getrennte Zahlen.
Number("twelve"); // returns NaN Number("20,000"); // returns NaN Number("2 3"); // returns NaN Number("11-11-11"); // returns NaN
Für den booleschen Datentyp ist der Wert von „false“ 0 und der Wert von „true“ 1. Die Methode
Number(false); // returns 0 Number(true); // returns 1
wird verwendet, um nicht numerische Datentypen in Zahlen umzuwandeln.
Wert in einen booleschen Wert umwandeln
Um eine Zahl oder Zeichenfolge in einen booleschen Wert umzuwandeln, können Sie die Methode Boolean() verwenden. Dies ist beispielsweise hilfreich, um festzustellen, ob der Benutzer Daten in ein Textfeld eingegeben hat.
Jeder als Null interpretierte Wert, z. B. die Zahl 0, eine leere Zeichenfolge oder ein undefinierter Wert, NaN oder Null, wird in „Falsch“ konvertiert.
Boolean(0); // returns false Boolean(""); // returns false Boolean(undefined); // returns false Boolean(NaN); // returns false Boolean(null); // returns false
Andere Werte werden in true konvertiert, einschließlich String-Literale, die aus Leerzeichen bestehen.
Boolean(2000); // returns true Boolean(" "); // returns true Boolean("Maniacs"); // returns true
Beachten Sie, dass „0“ als String-Literal in „true“ konvertiert wird, da es sich um einen nicht leeren String-Wert handelt:
Boolean("0"); // returns true
将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。
相关免费学习推荐:js视频教程
Das obige ist der detaillierte Inhalt vonGrundlegendes zur Datentypkonvertierung in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!