Konvertieren Sie String in TypeScript in Boolean
- Erstellen Sie ein TypeScript-Projekt
- Testen Sie die Zeichenfolge mit einem regulären Ausdruck
- Verwenden Sie den strikten Gleichheitsoperator
-
Verwenden Sie die
parse()
-Methode der JSON-API -
Verwenden Sie die
switch
-Anweisung - Abschluss
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 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