CodeGym /Kurse /Frontend SELF DE /Typkonvertierung in JavaScript

Typkonvertierung in JavaScript

Frontend SELF DE
Level 35 , Lektion 0
Verfügbar

1.1 Explizite Typkonvertierung

Typkonvertierung in JavaScript ist der Prozess, bei dem ein Wert von einem Datentyp in einen anderen umgewandelt wird. Es gibt zwei Arten der Konvertierung: explizit (manuell) und implizit (automatisch). Das Verständnis dieser Prozesse ist wichtig, um Fehler zu vermeiden und vorhersehbaren Code zu erstellen.

Explizite Konvertierung, auch bekannt als manuelle Konvertierung, wird mit eingebauten Funktionen und Methoden von JavaScript durchgeführt. Bei dieser Konvertierung gibt der Programmierer explizit an, welcher Datentyp in einen anderen umgewandelt werden soll.

Wesentliche Methoden der expliziten Konvertierung:

1. Konvertierung in einen String

  • Die Methode String(value): konvertiert einen Wert in einen String
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString(): eine Objektsmethode, die den Wert in einen String umwandelt
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Konvertierung in eine Zahl

  • Number(value): konvertiert einen Wert in eine Zahl
JavaScript
    
      let str = "456";
      let num = Number(str);
      console.log(typeof num); // "number"
    
  

  • parseInt(value, base): konvertiert einen String in eine ganze Zahl. Der Parameter base gibt die Basis des Zahlensystems an
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value): konvertiert einen String in eine Gleitkommazahl
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Konvertierung in einen booleschen Wert

  • Boolean(value): konvertiert einen Wert in einen booleschen Wert
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Implizite Typkonvertierung

Implizite Konvertierung, auch bekannt als automatische oder versteckte Konvertierung, wird von JavaScript automatisch durchgeführt, wenn Operationen mit verschiedenen Datentypen ausgeführt werden. Implizite Konvertierung kann zu unerwarteten Ergebnissen führen, daher sollte man sie verstehen und mit Vorsicht verwenden.

1. Konvertierung in einen String

Wichtig!

Beim Addieren eines beliebigen Objekts mit einem String versucht JavaScript, es in einen String zu konvertieren.

Beispiel:

JavaScript
    
      let result = "The number is " + 123;
      console.log(result); // "The number is 123"
    
  

2. Konvertierung in eine Zahl

Wichtig!

Bei der Verwendung von beliebigen arithmetischen Operatoren (außer +) mit Strings, die Zahlen enthalten.

JavaScript
    
      let result = "123" - 0;
      console.log(result); // 123 (Zahl)
    
  

Wie es in der Praxis funktioniert:

JavaScript
    
      let result = "123" - 10;
      console.log(result); // 113 (Zahl)

      let result2 = "123" + 10;
      console.log(result2); // 12310 (String)
    
  

3. Konvertierung in einen booleschen Wert

Bei der Verwendung von Werten in logischen Kontexten (Bedingungsoperatoren, Schleifen usw.).

JavaScript
    
      let value = "hello";

      if (value) {
        console.log("Value is truthy");   // Ausgabe: "Value is truthy"
      }
    
  

Beispiele für Konvertierungen im logischen Kontext:

  • false, 0, "" (leerer String), null, undefined, und NaN werden als falsche (false) Werte betrachtet
  • Alle anderen Werte werden als wahr (true) betrachtet
JavaScript
    
      if ("") {
        console.log("This won't be logged.");
      } else {
        console.log('"" is considered false in a boolean context.');
      }

      // '"" is considered false in a boolean context.'
    
  

1.3 Beispiele für implizite Konvertierung

Beispiel mit arithmetischen Operationen:

JavaScript
    
      let width = "100";
      let height = "200";

      let area = Number(width) * Number(height); // Explizite Konvertierung
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Verwendung des unären Plus zur expliziten Konvertierung
      console.log(perimeter); // 300
    
  

Beispiel mit logischem Kontext:

JavaScript
    
      let userInput = ""; // Leerer String

      if (!userInput) {
        console.log("Der Benutzer hat keine Daten eingegeben."); // Implizite Konvertierung des Strings in einen booleschen Wert
      }
    
  

Beispiel mit kombinierten Typen:

JavaScript
    
      let value = "10";
      let increment = 5;

      let result = value + increment; // Implizite Konvertierung der Zahl in einen String
      console.log(result); // "105"

      result = Number(value) + increment; // Explizite Konvertierung des Strings in eine Zahl
      console.log(result); // 15
    
  
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION