Heim  >  Artikel  >  Web-Frontend  >  Ein detaillierter Blick auf Typkonvertierungen in JavaScript

Ein detaillierter Blick auf Typkonvertierungen in JavaScript

PHPz
PHPzOriginal
2023-04-23 19:29:03637Durchsuche

JavaScript ist eine sehr flexible Programmiersprache, die mehrere Datentypen unterstützt. Jede Typkonvertierung (jede Typkonvertierung) ist eines der Probleme, die in JavaScript häufig auftreten.

Datentypen in JavaScript können in primitive Typen und Objekttypen unterteilt werden, darunter Zahlen, Zeichenfolgen, boolesche Werte, Null und undefiniert, und Objekttypen umfassen Objekt, Funktion, Array usw.

Jeder Datentyp kann mithilfe von Typkonvertierungsregeln in andere Datentypen konvertiert werden. Bei diesem Konvertierungsprozess müssen bestimmte Konvertierungsregeln befolgt werden.

Im Folgenden stellen wir die Typkonvertierung in JavaScript im Detail vor.

Explizite Typkonvertierung

JavaScript bietet einige integrierte Funktionen, die jeden Datentyp in andere Datentypen konvertieren können. Diese Funktionen können wie gewöhnliche Funktionen verwendet werden, wie unten gezeigt:

// 将数字转换为字符串
var num = 123;
var str = num.toString(); // str 将会是 "123"

// 将字符串转换为数字
var str = "123";
var num = Number(str); // num 将会是 123

// 将字符串转换为布尔值
var str = "123";
var bool = Boolean(str); // bool 将会是 true

In diesen Funktionen werden toString(), Number() und Boolean() für die explizite Typkonvertierung verwendet.

In JavaScript können Sie auch Umwandlungsoperatoren (wie +, -, ++, -- usw.) verwenden, um explizite Typkonvertierungen durchzuführen.

Bei der expliziten Typkonvertierung müssen Sie die folgenden Punkte beachten:

  • Wenn Zahlen und Zeichenfolgen hinzugefügt werden, wandelt JavaScript die Zahl automatisch in eine Zeichenfolge um und führt dann eine Zeichenfolgenverkettung durch. Der Beispielcode lautet wie folgt:
var num = 123;
var str = "456";
var result = num + str; // result 将会是 "123456"
  • Wenn Zeichenfolgen und boolesche Werte hinzugefügt werden, wandelt JavaScript den booleschen Wert in eine Zahl um und fügt ihn dann hinzu. Der Beispielcode lautet wie folgt:
var str = "123";
var bool = true;
var result = str + bool; // result 将会是 "123true"
  • Wenn ein boolescher Wert zu einer Zahl hinzugefügt wird, wandelt JavaScript den booleschen Wert in eine Zahl um und fügt ihn dann hinzu. Der Beispielcode lautet wie folgt:
var num = 123;
var bool = true;
var result = num + bool; // result 将会是 124

Implizite Typkonvertierung

In JavaScript konvertieren einige Operatoren und Funktionen implizit einen Datentyp in einen anderen.

Implizite Typkonvertierung von Zeichenfolgen und Zahlen

Wenn Zeichenfolgen und Zahlen verglichen oder bearbeitet werden, wandelt JavaScript die Zeichenfolge automatisch in eine Zahl um und führt dann den Vergleich oder die Operation durch. Der Beispielcode lautet wie folgt:

var str = "123";
var num = 456;
var result1 = str + num; // result1 将会是 "123456"
var result2 = num + str; // result2 将会是 "456123"

Im obigen Code kann das +-Symbol zum Zusammenfügen von Zeichenfolgen oder zum Hinzufügen von Zahlen verwendet werden. Aufgrund der Operation von Zeichenfolgen und Zahlen konvertiert JavaScript Zeichenfolgen automatisch in Zahlen, sodass das Endergebnis entsteht ist eine Zeichenfolge.

Implizite Typkonvertierung von booleschen Werten

Wenn in JavaScript ein boolescher Wert an einem Vergleich oder einer Operation teilnimmt, wird der boolesche Wert zum Vergleich oder zur Operation automatisch in einen numerischen Typ konvertiert. True wird zu 1, False wird zu 0. Der Beispielcode lautet wie folgt:

var num = 5;
var bool1 = num == true; // bool1 将会是 false
var bool2 = num == false; // bool2 将会是 false
var bool3 = num > false; // bool3 将会是 true

Automatische Typkonvertierung

In JavaScript lösen einige Vorgänge automatisch eine Typkonvertierung aus.

In JavaScript lösen alle nicht-booleschen Typen in if-, for-, while- usw. Anweisungen automatisch eine Typkonvertierung aus.

Lassen Sie uns unten Beispiele nennen:

Automatische Typkonvertierung in if-Anweisungen

In JavaScript lösen nicht-boolesche Typen in if-Anweisungen automatisch eine Typkonvertierung aus. Wenn ein nicht-boolescher Typ als Bedingung verwendet wird, ruft JavaScript die Funktion Boolean() auf, um ihn in einen booleschen Werttyp zu konvertieren.

Das folgende Beispiel veranschaulicht die Konvertierung nicht-boolescher Typen in if-Anweisungen in boolesche Typen:

if (null) {
    console.log("null is true");
} else {
    console.log("null is false");
}

if (undefined) {
    console.log("undefined is true");
} else {
    console.log("undefined is false");
}

if (0) {
    console.log("0 is true");
} else {
    console.log("0 is false");
}

if ("") {
    console.log("'' is true");
} else {
    console.log("'' is false");
}

Die Ausgabeergebnisse lauten wie folgt:

null is false
undefined is false
0 is false
'' is false

Wie aus den obigen Ausgabeergebnissen ersichtlich ist, wenn nicht-boolesche Typen in if verwendet werden Anweisungen müssen sie in einen booleschen Typ konvertieren und dann ein Urteil fällen.

Automatische Typkonvertierung in for-Schleife

In JavaScript lösen nicht-boolesche Typen in for-Schleifen automatisch eine Typkonvertierung aus. Wenn ein nicht-boolescher Typ als Bedingung in einer for-Schleife verwendet wird, ruft JavaScript die Funktion Boolean() auf, um ihn in einen booleschen Werttyp zu konvertieren.

Das folgende Beispiel veranschaulicht die Konvertierung nicht-boolescher Typen in boolesche Typen in einer for-Schleife:

for(var i=0; i<=10; i++) {
    if(i) {
        console.log(i);
    }
}

Die Ausgabeergebnisse lauten wie folgt:

1
2
3
4
5
6
7
8
9
10

Wie aus den obigen Ausgabeergebnissen ersichtlich ist, handelt es sich in der for-Schleife um nicht-boolesche Typen Typen können auch in boolesche Typen konvertiert und dann beurteilt werden.

Automatische Typkonvertierung in While-Schleifen

In JavaScript lösen nicht-boolesche Typen in While-Schleifen automatisch eine Typkonvertierung aus. Wenn ein nicht-boolescher Typ als Bedingung in einer While-Schleife verwendet wird, ruft JavaScript die Funktion Boolean() auf, um ihn in einen booleschen Werttyp zu konvertieren.

Das folgende Beispiel veranschaulicht die Konvertierung nicht-boolescher Typen in boolesche Typen in while-Schleifen:

var i = 0;
while(i < 10) {
    i++;
    if(i%2) {
        console.log(i + "是奇数");
    } else {
        console.log(i + "是偶数");
    }
}

Die Ausgabeergebnisse lauten wie folgt:

1是奇数
2是偶数
3是奇数
4是偶数
5是奇数
6是偶数
7是奇数
8是偶数
9是奇数
10是偶数

Wie aus den obigen Ausgabeergebnissen ersichtlich ist, können nicht-boolesche Typen in while-Schleifen dies tun Konvertieren Sie den Typ auch in einen booleschen Typ und treffen Sie dann ein Urteil.

Zusammenfassung

In JavaScript muss jede Typkonvertierung bestimmten Regeln folgen. Während des Typkonvertierungsprozesses müssen Sie auf mehrere wichtige Punkte achten:

  • Datentypen in JavaScript umfassen primitive Typen und Objekttypen;
  • Explizite Typkonvertierung kann Typkonvertierungsfunktionen oder Umwandlungsoperatoren verwenden;
  • Automatische Typkonvertierung bedeutet, dass nicht- Boolesche Typen in if, for, while und anderen Anweisungen lösen automatisch eine Typkonvertierung aus.
  • Bei der Durchführung einer Typkonvertierung müssen Sie die Regeln der Typkonvertierung beachten, um die Richtigkeit des Codes sicherzustellen.
  • Das Obige ist eine detaillierte Einführung in jede Typkonvertierung in JavaScript. Ich hoffe, es kann Ihnen etwas helfen.

Das obige ist der detaillierte Inhalt vonEin detaillierter Blick auf Typkonvertierungen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn