如何在 TypeScript 中执行字符串比较?
在本 TypeScript 教程中,用户将学习如何进行字符串比较。字符串比较是使用任何编程语言时都需要的基本操作。
假设我们正在开发一个 Web 或 Android 应用程序,需要比较字符串数据,例如用户 ID、用户名、密码等。在这种情况下,字符串比较就非常有用。
使用严格相等 (===) 运算符
在 TypeScript 中比较字符串的最佳方法是使用严格相等运算符。 严格相等运算符首先检查左右操作数的类型,如果匹配,则比较字符串的值,并根据字符串的匹配结果返回布尔值。
用户可以按照以下语法在 TypeScript 中使用严格相等运算符比较字符串。
语法
let string1: string = " "; let string2: string = " "; let value: boolean = string1 === string2;
在上述语法中,我们创建了两个字符串,并使用严格相等运算符对它们进行比较。
步骤
步骤 1 − 创建两个不同的字符串 - "string1"和"string2"。
步骤 2 − 将"string1"和"string2"的比较结果赋值给布尔变量"value1"。
步骤 3 − 最后一步,我们打印"value1"的值。如果"value1"的值为"true",则两个字符串"相等",否则"不相等"。
示例 1
在下面的示例中,我们比较两个字符串 - string1 和 string2。我们将两个字符串视为相同,因此预期输出为"true"。
// 创建两个字符串变量并初始化其值 let string1: string = "TutorialsPoint"; let string2: string = "TutorialsPoint"; // 比较字符串。 let value1: boolean = string1 === string2; // 显示结果 console.log(value1);
编译后,它将生成以下 JavaScript 代码 -
// 创建两个字符串变量并初始化其值 var string1 = "TutorialsPoint"; var string2 = "TutorialsPoint"; // 比较字符串。 var value1 = string1 === string2; // 显示结果 console.log(value1);
以上代码将产生以下输出 -
输出
true
示例 2
在下面的示例中,我们比较两个字符串 - string1 和 string2。我们已经将两个字符串视为不同的字符串,因此我们期望输出为"false"。
// 创建两个字符串变量并初始化其值 let string1: string = "TutorialsPoint"; let string2: string = "Tutorial"; // 比较字符串。 let value1: boolean = string1 === string2; // 显示结果 console.log(value1);
编译后,它将生成以下 JavaScript 代码 -
// 创建两个字符串变量并初始化其值 var string1 = "TutorialsPoint"; var string2 = "Tutorial"; // 比较字符串。 var value1 = string1 === string2; // 显示结果 console.log(value1);
以上代码将产生以下输出 -
输出
false
使用严格相等运算符进行不区分大小写的字符串比较
有时,我们需要不区分大小写地比较字符串。不区分大小写的字符串比较意味着两个字符串的所有字符都相同,但并非所有字符串的字符大小写都相同。
用户可以按照以下语法进行不区分大小写的字符串比较。
语法
let string1: string = "TUTORIALSPOINT"; let string2: string = "tutorialspoint"; // 比较字符串。 let value1: boolean = string1.toLowerCase() === string2.toLowerCase(); let value2: boolean = string1.toUpperCase() === string2.toUpperCase();
首先,我们按照上述语法将字符串转换为小写,然后进行比较。此外,我们还将字符串转换为大写并进行比较。
步骤
步骤 1 − 创建两个字符串 - 'str1' 和 'str2',包含相同的值,但大小写不同。
步骤 2 − 接下来,将 'str1' 和 'str2' 转换为小写或大写。
步骤 3 − 使用严格相等运算符比较它们,并将其结果存储在布尔变量 `val1` 中。
步骤 4 − 在最后一步中,我们还打印了 `val1` 的值。
示例
要不区分大小写地比较字符串,用户只需将两个字符串转换为小写或大写,然后进行比较即可。在下面的示例中,我们比较两个值相同但大小写不同的字符串。
// 创建两个字符串变量并初始化其值 let str1: string = "TUTORIALSPOINT"; let str2: string = "tutorialspoint"; // 比较字符串。 let val1: boolean = str1.toLowerCase() === str2.toLowerCase(); let val2: boolean = str1.toUpperCase() === str2.toUpperCase(); // 显示比较结果 console.log("After converting both strings into the lowercase, comparison result is : " + val1); console.log("After converting both strings into the lowercase, comparison result is : " + val2);
编译后,它将生成以下 JavaScript 代码 -
// 创建两个字符串变量并初始化其值 var str1 = "TUTORIALSPOINT"; var str2 = "tutorialspoint"; // 比较字符串。 var val1 = str1.toLowerCase() === str2.toLowerCase(); var val2 = str1.toUpperCase() === str2.toUpperCase(); // 显示比较结果 console.log("After converting both strings into lowercase, comparison result is : " + val1); console.log("After converting both strings into uppercase, comparison result is : " + val2);
The above code will produce the following output −
输出
After converting both strings into lowercase, comparison result is : true After converting both strings into uppercase, comparison result is : true
在上面的输出中,用户可以看到"val1"和"val2"的值都为 true,因为我们比较的是转换为相同大小写(小写或大写)后的字符串。
使用松散相等运算符 (==)
此外,用户还可以使用松散相等运算符 (==) 来比较字符串。它也会给出与严格相等运算符相同的结果,这也是 TypeScript 相对于 JavaScript 的主要优势。用户可以按照以下示例使用松散相等运算符比较字符串。
示例
在下面的示例中,用户可以看到我们使用松散相等运算符比较"str1"和"str2"。
let str1: string = "Hello"; let str2: string = "World!"; // 比较字符串。 let val1: boolean = str1 == str2; console.log(val1);
编译后,它将生成以下 JavaScript 代码 -
var str1 = "Hello"; var str2 = "World!"; // 比较字符串。 var val1 = str1 == str2; console.log(val1);
上述代码将产生以下输出 -
输出
false
用户在本教程中学习了如何比较字符串。与 JavaScript 不同,在 TypeScript 中,严格运算符和降低质量运算符对于字符串比较的作用与定义变量数据类型相同,并且它不允许我们比较不同数据类型的变量。