Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
In Entwicklung Zuletzt aktualisiert: 29. August 2023
Teilen:
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

JavaScript war dazu gedacht, kurze Codeschnipsel von nur wenigen Zeilen zu schreiben, die in Webseiten eingebettet werden sollten. Niemand hätte vorhersehen können, dass JavaScript so populär wird wie jetzt oder dass es zum Schreiben von Anwendungen mit Tausenden von Codezeilen verwendet wird.

So sehr JavaScript gewachsen ist und mittlerweile weit verbreitet zum Erstellen von Anwendungen verwendet wird, ist es keine perfekte Sprache. Aufgrund seiner bescheidenen Anfänge und seines anfänglichen Verwendungszwecks weist JavaScript einige Eigenheiten auf, die die Erstellung umfangreicher Anwendungen zu einem Albtraum machen können.

Beispielsweise gibt JavaScript keinen Fehler aus, wenn Sie auf Elemente verweisen, die in einem Objekt nicht vorhanden sind, oder wenn Sie null mit einem numerischen Wert multiplizieren.

Was-ist-eine-JavaScript-Bibliothek

Für JavaScript ist eine leere Zeichenfolge („“) gleich 0 (Null), wenn die beiden mithilfe eines Gleichheitsoperators (==) verglichen werden. Schlimmer noch: JavaScript zeigt Ihnen solche Fehler in Ihrem Code in der Entwicklung nicht an. Die Fehler werden Ihnen erst angezeigt, wenn Sie Ihr Programm ausführen.

Typoskript, das auf JavaScript basiert, wurde daher entwickelt, um die Herausforderungen zu lindern, die beim Erstellen von Anwendungen mit JavaScript auftreten. Um dies zu erreichen, führt TypeScript beim Schreiben Ihres Codes eine statische Typprüfung durch.

Typoskript

Statische Überprüfung bedeutet, Fehler in Ihrem Code zu erkennen, ohne dass Sie Ihren Code ausführen müssen. Bei der statischen Typprüfung wird also während der Entwicklung auf der Grundlage der Art der Werte, die im Code verarbeitet werden, auf Fehler geprüft.

TypeScript ist eine typisierte Obermenge von JavaScript. Da es sich um eine Obermenge von JavaScript handelt, bedeutet dies, dass jeder gültige JavaScript-Code auch gültiges TypeScript ist. Typisiert zu sein bedeutet, dass TypeScript Regeln dazu hinzufügt, wie verschiedene Datentypen verwendet werden können. TypeScript ist ebenfalls stark typisiert und Sie können die durch das Typsystem erzwungenen Einschränkungen nicht umgehen.

TypeScript ist ein großer Meilenstein und eine bedeutende Entwicklung in der Webentwicklung. Mit TypeScript können Sie besser lesbaren Code schreiben, der einfach zu warten ist. Es setzt außerdem gute Codierungspraktiken durch und hilft Entwicklern, Fehler beim Schreiben von Code zu erkennen und zu vermeiden.

TypeScript ist zuverlässiger und lässt sich einfacher umgestalten, was es im Vergleich zu JavaScript ideal für die Erstellung umfangreicher Anwendungen macht. Da TypeScript stark typisiert ist, schauen wir uns die Typkonvertierung, ihre Bedeutung und die Art und Weise an, wie TypeScript mit Typkonvertierungen umgeht.

Typkonvertierung in TypeScript und ihre Bedeutung

Arten funktionaler Programmiersprachen

Bei der Typkonvertierung handelt es sich um den Prozess der Konvertierung eines Werts von einem Datentyp in einen anderen, beispielsweise die Konvertierung eines Zeichenfolgenwerts in eine Zahl. Die Typkonvertierung kann implizit erfolgen, wobei der Compiler bei Komplikationen automatisch kompatible Datentypen konvertiert.

Die Typkonvertierung kann auch explizit erfolgen, wenn die Typkonvertierung im Quellcode explizit erforderlich ist. Dies wird oft als Typisierung bezeichnet.

Die Typkonvertierung ist wichtig, da sie es Entwicklern ermöglicht, mit unterschiedlichen Datenformaten zu arbeiten und gleichzeitig den erwarteten Datentypen in TypeScript zu entsprechen. Es trägt auch dazu bei, vorhersehbare Ergebnisse aus Quellcodes sicherzustellen.

Wenn Sie als Entwickler die Typen selbst umwandeln, können Sie sicherstellen, dass Ihr Code weiterhin die Typanforderungen von TypeScript erfüllt. Es macht Ihren Code lesbarer und verständlicher und hilft, typbedingte Fehler zu vermeiden.

Typkonvertierungen unterstützen auch die Datenvalidierung und helfen TypeScript bei der Entwicklung, indem sie alle integrierten Tools wie die automatische Vervollständigung bereitstellen, die bestimmten Typen zugeordnet sind.

Ein häufiger Anwendungsfall für die Typkonvertierung ist die Verwendung von Zeichenfolgen und Zahlen. Um beim Konvertieren von Zeichenfolgen in Zahlen in TypeScript Fehler in Ihrem Code zu vermeiden, werden nur numerische Zeichenfolgen in Zahlen konvertiert. Das heißt, Sie können Zeichenfolgen wie „1“, „235“, „5234.5“ usw. konvertieren. Konvertieren Sie Zeichenfolgen wie „Hallo“ jedoch nicht in eine Zahl

Schauen wir uns die verschiedenen Möglichkeiten zum Konvertieren von Zeichenfolgen in Zahlen in TypeScript an:

Type Assertion using ‘as’

Wenn Sie mit verschiedenen Datentypen in Ihrem TypeScript-Code arbeiten, verfügen Sie manchmal über mehr Informationen über den Typ eines Werts, den TypeScript nicht kennen kann. In solchen Fällen teilen Sie TypeScript mit, welchen Typ eine Variable haben soll, und lassen den Compiler nicht auf den Typ schließen. Dies wird als Typzusicherung bezeichnet.

Die Typzusicherung erfolgt mithilfe von as Stichwort. Um die Typzusicherung zum Konvertieren einer Zeichenfolge in eine Zahl zu verwenden, legen Sie zunächst den Typ der Zeichenfolge fest unbekannt. Dies liegt daran, dass TypeScript standardmäßig jede Typkonvertierung berücksichtigt Schnur zum Anzahl möglicherweise ein Fehler sein. Dies liegt daran, dass sich weder die Zeichenfolge noch die Zahl ausreichend überlappen. Um eine Zeichenfolge mit as in eine Zahl umzuwandeln, gehen Sie wie folgt vor:

/**
 * set the type of numString to be unkown, otherwise,
 * Typescript will infer numString to be a string value
 */
let numString: unknown = "23452";

// Type conversion using as - numString is converted to a number
// and assigned to the variable score
let score = numString as number;
console.log(score);
console.log(score * 35);

Ausgang:

23452
820820
Typkonvertierung als

Beachten Sie anhand der Ausgabe, dass die Variable numString wurde in eine Zahl umgewandelt und der Punktzahl zugewiesen. Wir können dann numerische Berechnungen wie die Multiplikation mit der Punktzahl durchführen, da der Wert eine Zahl ist

Type Assertion Using <>

Die Typzusicherung mit <> kann auch zum Konvertieren einer Zeichenfolge in eine Zahl verwendet werden. Es funktioniert genauso wie die Verwendung von as Stichwort. Der einzige Unterschied in der Implementierung ist die Syntax, die unten dargestellt ist:

let numString: unknown = "23452";
// Type assertion using <> to convert a string to a number
let score = <number>numString;

console.log(score);
console.log(score * 35);

Ausgang:

23452
820820
Typkonvertierung-as-1

Die Ausgabe ist die gleiche wie bei Verwendung von as Stichwort. Denken Sie auch hier daran, die Typzusicherung nicht zum Konvertieren von Zeichenfolgen zu verwenden, die keine numerischen Werte enthalten.

Using the Number Constructor

Um eine Zeichenfolge mithilfe des Zahlenkonstruktors in eine Zahl umzuwandeln, übergeben Sie die Zeichenfolge, die Sie konvertieren möchten, in den Zahlenkonstruktor, wie im folgenden Codeausschnitt gezeigt:

let numString = "23452"; // type inferred to string
let lives: string = "20"; // type annotated to string

// pass in string to Number constructor to convert to number
let score = Number(numString)
console.log(score / 17)

// pass in string to Number constructor to convert to number
let remainingLives = Number(lives);
console.log(remainingLives - 4)

Ausgang:

1379.5294117647059
16
Zahlenkonstruktor-ts

Wenn Sie den Number-Konstruktor verwenden, müssen Sie den Typ der Zeichenfolge nicht auf „unknown“ festlegen. Es funktioniert mit Zeichenfolgenwerten, die mit Anmerkungen versehen oder auf Zeichenfolgen abgeleitet wurden. Denken Sie jedoch daran, numerische Zeichenfolgen wie „514“ zu übergeben. Wenn Sie eine Zeichenfolge übergeben, die nicht in eine Zahl umgewandelt werden kann, NaN (Not-a-Number) wird zurückgegeben.

Using the Unary plus (+) operator

Der unäre Plus-(+)-Operator, der seinem einzelnen Operanden vorangeht, wird zu dem Operanden ausgewertet, der ihm vorausgeht. Beispielsweise ergibt +2 die Zahl 2, +542 die Zahl 542 und so weiter. Wenn der Operand jedoch keine Zahl ist, versucht der unäre Plus-Operator (+), ihn in eine Zahl umzuwandeln.

Beispiel: + „98“ ergibt 98 und + „0“ ergibt die Zahl 0. Daher können wir den unären Plus-Operator (+) verwenden, um Zeichenfolgen in Zahlen umzuwandeln. Wenn Sie eine Zeichenfolge übergeben, die nicht in eine Zahl umgewandelt werden kann, wird NaN wie unten gezeigt zurückgegeben:

let numString1 = "23452";
let numString2 = "973.82"
let word = "hello"

// Using the Unary plus (+) to convert strings to numbers
let num1 = +numString1;
let num2 = +numString2;
let notNumber = +word;

console.log(`${num1} is a ${typeof num1}`);
console.log(`${num2} is a ${typeof num2}`);
console.log(notNumber);

Ausgang:

23452 is a number
973.82 is a number
NaN
Unär-Plus-Ausgabe

Die Verwendung des unären Plus-(+)-Operators ist eine gute Möglichkeit, Zeichenfolgen in Zahlen umzuwandeln, da er schnell ist und keine zusätzlichen Operationen an seinen Operanden ausführt.

Using parseInt() and parseFloat()

Genau wie in JavaScript unterscheidet Typescript nicht zwischen ganzen Zahlen und Dezimalzahlen, auch Gleitkommazahlen genannt. Alle gelten als vom Typ Nummer. Allerdings unterscheiden sich die Verhaltensweisen von parseInt() und parseFloat() geringfügig.

parseInt() nimmt ein String-Argument auf, analysiert es und gibt ein ganzzahliges Äquivalent entsprechend der angegebenen Basis zurück. parseFloat() nimmt einen String auf, analysiert ihn und gibt eine Gleitkommazahl zurück.

Wenn Sie beispielsweise „897“ sowohl an parseInt() als auch an parseFloat() übergeben, erhalten Sie die Zahl 897 zurück. Wenn Sie jedoch 897.75 sowohl an parseInt() als auch an parseFloat() übergeben, wird parseInt() zurückgegeben Geben Sie 897 zurück, während parsefloat() 897.75 zurückgibt.

Verwenden Sie daher beim Konvertieren numerischer Zeichenfolgen, die keine Dezimalstelle haben, parseInt(). Wenn die numerische Zeichenfolge jedoch Dezimalstellen hat, verwenden Sie parseFloat(), wie im folgenden Code gezeigt:

let numString1 = "897.75";
let numString2 = "724";
let word = "hello";

console.log("Parsing numerical strings with decimal numbers")
console.log(`Using parseInt -> ${parseInt(numString1)}`);
console.log(`Using parseFloat -> ${parseFloat(numString1)}`);

console.log("Parsing numerical strings with whole numbers")
console.log(`Using parseInt -> ${parseInt(numString2)}`);
console.log(`Using parseFloat -> ${parseFloat(numString2)}`);

console.log("Parsing strings that can't convert to number")
console.log(parseInt(word));
console.log(parseFloat(word));

Ausgang:

Parsing numerical strings with decimal numbers
Using parseInt -> 897
Using parseFloat -> 897.75
Parsing numerical strings with whole numbers
Using parseInt -> 724
Using parseFloat -> 724
Parsing strings that can't convert to number
NaN
NaN
Parsing-Int-Float-Ausgabe

Fazit

Wenn Sie mit Zeichenfolgewerten arbeiten, beispielsweise dem Ergebnis von API-Aufrufen, möchten Sie diese möglicherweise in Zahlen umwandeln, damit Sie numerische Berechnungen mit ihnen durchführen können. Wenn ein solcher Bedarf besteht, ziehen Sie die im Artikel hervorgehobenen Methoden zum Konvertieren von Zeichenfolgen in Zahlen in Betracht.

Seien Sie jedoch vorsichtig, wenn Sie Zeichenfolgen in Zahlen umwandeln, da beim Versuch, eine Zeichenfolge in eine Zahl umzuwandeln, möglicherweise NaN angezeigt wird.

Um einen solchen Fehler zu vermeiden, stellen Sie sicher, dass es sich bei allen Zeichenfolgen, die Sie in eine Zahl umwandeln möchten, um numerische Zeichenfolgen handelt. Sie können auch eine if-Anweisung verwenden, um nach NaN zu suchen und so Fehler in Ihrem Code zu vermeiden.

Sie können auch oben erkunden TypeScript-Bibliotheken und Laufzeit, die Sie als Entwickler kennen sollten.

  • Collins Kariuki
    Autor
    Collins Kariuki ist Softwareentwickler und technischer Autor für Geekflare. Er verfügt über mehr als vier Jahre Erfahrung in der Softwareentwicklung, einen Hintergrund in Informatik und hat außerdem für Argot, Daily Nation und die Business Daily Newspaper geschrieben.
  • Narendra Mohan Mittal
    Herausgeber

    Narendra Mohan Mittal ist Senior Digital Branding Strategist und Content Editor mit über 12 Jahren vielseitiger Erfahrung. Er verfügt über einen M-Tech (Goldmedaillengewinner) und B-Tech (Goldmedaillengewinner) in Informatik und Ingenieurwesen.


    ... Mehr Blogartikel
Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.