Konvertieren Sie String in TypeScript in Boolean

David Mbochi Njonge 21 Juni 2023
  1. Erstellen Sie ein TypeScript-Projekt
  2. Testen Sie die Zeichenfolge mit einem regulären Ausdruck
  3. Verwenden Sie den strikten Gleichheitsoperator
  4. Verwenden Sie die parse()-Methode der JSON-API
  5. Verwenden Sie die switch-Anweisung
  6. Abschluss
Konvertieren Sie String in TypeScript in Boolean

Die Konvertierung eines Datentyps in einen anderen ist ein gängiger Programmieransatz, der beim Erstellen von Anwendungen verwendet wird, da er hilft, die Ausgabe in einem anderen Format bei gleicher Eingabe zu erhalten.

Wenn Sie beispielsweise mit numerischen Daten arbeiten, möchten Sie möglicherweise einen Anforderungsparameter vom Typ Zahl aus einer Anforderung abrufen, und da die Anforderung vom Typ Zeichenfolge ist, können wir die Methoden parseInt() oder parseFloat() verwenden Konvertieren Sie den Anforderungsparameter in den Typ Zahl.

Dieser Ansatz ist nicht nur auf numerische Werte beschränkt, sondern bietet uns auch andere Möglichkeiten, die wir nutzen können, um einen Datentyp in einen anderen Datentyp zu konvertieren. In diesem Lernprogramm lernen wir die verschiedenen Möglichkeiten kennen, mit denen wir einen Zeichenfolgendatentyp in einen booleschen Datentyp konvertieren können.

Erstellen Sie ein TypeScript-Projekt

Öffnen Sie WebStorm IDEA und wählen Sie Datei > Neu > Projekt. Wählen Sie im sich öffnenden Fenster auf der linken Seite Node.js aus und ändern Sie dann auf der rechten Seite den Projektnamen von untitled in string-to-boolean oder geben Sie einen beliebigen Namen ein.

Stellen Sie sicher, dass Sie node installiert haben, bevor Sie dieses Projekt erstellen, um sicherzustellen, dass die beiden verbleibenden Abschnitte Node interpreter und Package manager automatisch aus dem Dateisystem hinzugefügt werden.

Nachdem das Projekt generiert wurde, öffnen Sie mit der Tastenkombination Alt+F12 ein neues Terminalfenster und erstellen mit folgendem Befehl eine Konfigurationsdatei namens tsconfig.json.

~/WebstormProjects/string-to-boolean$ tsc --init

Stellen Sie sicher, dass der Inhalt der Datei wie unten gezeigt ist. Die einzige Änderung, die wir vorgenommen haben, ist das Hinzufügen von noEmitOnError: true, um sicherzustellen, dass die JavaScript-Dateien nicht erstellt werden, wenn während des Transpilierens von TypeScript-Code ein Fehler auftritt.

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "noEmitOnError": true,
    "strict": true,
    "noFallthroughCasesInSwitch": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true
  }
}

Testen Sie die Zeichenfolge mit einem regulären Ausdruck

Erstellen Sie eine Datei namens Main.ts unter dem Ordner string-to-kotlin und kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein.

const trueFlag = "true";
const falseFlag = "false";

function usingTestMethod(){
    const flag = (/true/i).test(trueFlag);
    console.log(flag);
}
usingTestMethod();

In diesem Code haben wir zwei String-Flags und eine Methode namens usingTestMethod() erstellt; die String-Flags enthalten die Werte true bzw. false. Sie sind deklarierte globale Variablen, da sie in allen Beispielen in diesem Tutorial verwendet werden.

Die usingTestMethod() verwendet die test()-Methode der RegExp-Schnittstelle, um den regulären Ausdruck /true/i zu erstellen, der true zurückgibt, wenn der String mit dem regulären Ausdruck übereinstimmt.

Beachten Sie, dass wir ein falsches boolesches Ergebnis erhalten, wenn die Zeichenfolge nicht mit dem regulären Ausdruck übereinstimmt. Da das String-Flag den String true enthält, passt der reguläre Ausdruck und gibt true zurück.

Führen Sie diesen Code mit dem folgenden Befehl aus.

~/WebstormProjects/string-to-boolean$ tsc && node Main.js

Der Befehl tsc transpiliert den TypeScript-Code in JavaScript-Code und generiert eine Datei namens Main.js. Der Befehl node führt die Datei Main.js aus und der vom Code zurückgegebene Wert wird in der Konsole protokolliert.

true

Verwenden Sie den strikten Gleichheitsoperator

Kopieren Sie den folgenden Code und fügen Sie ihn nach der Funktion usingTestMethod() in die Datei Main.ts ein.

function usingStrictEqualityOperator(){
    const flag = (trueFlag === "true");
    console.log(flag);
}
usingStrictEqualityOperator();

In dieser Methode haben wir eine Methode namens usingStrictEqualityOperator() erstellt, die den strikten Gleichheitsoperator === verwendet, um zu testen, ob das String-Flag, das den Wert true enthält, strikt gleich dem String ist, den wir als Argument übergeben.

Warum nicht den Gleichheitsoperator == verwenden? Dadurch soll eine Typumwandlung vermieden werden, die möglicherweise ein anderes Ergebnis als das erwartete zurückgibt.

Da die beiden Strings gleich sind, gibt der strikte Gleichheitsoperator den Wert true zurück. Führen Sie diesen Code mit dem Befehl aus, den wir im vorherigen Beispiel verwendet haben, und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

true

Verwenden Sie die parse()-Methode der JSON-API

Kopieren Sie den folgenden Code und fügen Sie ihn nach der Methode usingStrictEqualityOperator() in die Datei Main.ts ein.

function usingJSONParser(){
    const flag = JSON.parse(falseFlag);
    console.log(flag);
}
usingJSONParser();

In diesem Code haben wir eine Methode namens usingJSONParser() erstellt, die die Methode parse() der JSON-Schnittstelle verwendet, um den als Argument für einen booleschen Wert bereitgestellten Text zu parsen.

In unserem Fall haben wir die Variable falseFlag übergeben, die ein String-Flag mit dem Wert true enthält, und die Methode parse gibt aus diesem String den booleschen Wert true zurück.

Beachten Sie, dass wir je nach Anforderung ein Object, Array, string oder number zurückgeben können.

Führen Sie diesen Code mit dem Befehl aus, den wir im vorherigen Beispiel verwendet haben, und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

false

Verwenden Sie die switch-Anweisung

Kopieren Sie den folgenden Code und fügen Sie ihn nach der Methode usingJSONParser() in die Datei Main.ts ein.

function flagResult(flag: any){
    switch (flag){
        case true:
        case "true":
        case 1:
        case "1":
        case "on":
        case "yes":
            return true;
        default:
            return false;
    }
}

function usingSwitchStatement(){
    const flag = flagResult(trueFlag);
    console.log(flag);
}
usingSwitchStatement();

In diesem Code haben wir zwei Methoden namens flagResult() und usingSwitchStatement() erstellt. Die Methode flagResult() akzeptiert einen Parameter vom Typ any; Je nach Argument, das der Methode übergeben wird, wird ein boolescher Wert von true oder false zurückgegeben.

Die Methode gibt für jedes der Argumente true, true, 1, on oder yes den Wert true zurück; andernfalls wird der Wert false zurückgegeben.

Das usingSwitchStatement() verwendet diese Methode, um den booleschen Wert des String-Flags trueFlag zu erhalten, der zu Beginn dieses Tutorials deklariert wurde. Die Variable flag enthält das Ergebnis der Übergabe des trueFlag an die Methode flagResult().

Führen Sie diesen Code mit dem Befehl aus, den wir im vorherigen Beispiel verwendet haben, und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

true

Abschluss

In diesem Tutorial haben wir gelernt, wie man einen Zeichenfolgenwert in einen booleschen Wert umwandelt. Zu den Themen, die wir behandelt haben, gehören das Testen einer Zeichenfolge mit einem regulären Ausdruck, die Verwendung des strikten Gleichheitsoperators, die Verwendung der Methode parse() der JSON-API und schließlich haben wir gelernt, wie man die Anweisung switch verwendet.

Beachten Sie, dass Bibliotheken uns helfen können, dasselbe Ziel zu erreichen, und ein Entwickler sollte offen sein für andere Ansätze, die wir in diesem Tutorial nicht behandelt haben.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub

Verwandter Artikel - TypeScript Boolean

Verwandter Artikel - TypeScript String