如何在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'。
// Creating 2 string variables and initializing with values let string1: string = "TutorialsPoint"; let string2: string = "TutorialsPoint"; // Comparing the strings. let value1: boolean = string1 === string2; // Show result console.log(value1);
编译后,它将生成以下JavaScript代码:
// Creating 2 string variables and initializing with values var string1 = "TutorialsPoint"; var string2 = "TutorialsPoint"; // Comparing the strings. var value1 = string1 === string2; // Show the result console.log(value1);
以上代码将产生以下输出:
输出
true
示例2
在下面的示例中,我们比较两个字符串 - string1 和 string2。我们取这两个字符串不同,所以我们期望输出为'false'。
// Creating 2 string variables and initializing with values let string1: string = "TutorialsPoint"; let string2: string = "Tutorial"; // Comparing the strings. let value1: boolean = string1 === string2; // Show result console.log(value1);
编译后,它将生成以下JavaScript代码:
// Creating 2 string variables and initializing with values var string1 = "TutorialsPoint"; var string2 = "Tutorial"; // Comparing the strings. var value1 = string1 === string2; // Show the result console.log(value1);
以上代码将产生以下输出:
输出
false
使用严格相等运算符进行不区分大小写的字符串比较
有时,我们需要不区分大小写地比较字符串。不区分大小写的字符串比较意味着两个字符串的所有字符都相同,但字符串并非所有字符的大小写都相同。
用户可以按照以下语法不区分大小写地比较字符串。
语法
let string1: string = "TUTORIALSPOINT"; let string2: string = "tutorialspoint"; // Comparing the strings. let value1: boolean = string1.toLowerCase() === string2.toLowerCase(); let value2: boolean = string1.toUpperCase() === string2.toUpperCase();
首先,我们在上述语法中将字符串转换为小写并进行比较。此外,我们还将字符串转换为大写并进行比较。
步骤
步骤1 - 创建两个字符串 - 'str1' 和 'str2',它们包含相同的值,但大小写不同。
步骤2 - 接下来,将'str1'和'str2'转换为小写或大写。
步骤3 - 使用严格相等运算符进行比较,并将结果存储在布尔变量`val1`中。
步骤4 - 在最后一步,我们还打印`val1`的值。
示例
为了不区分大小写地比较字符串,用户可以简单地将两个字符串都转换为小写或大写,然后进行比较。在下面的示例中,我们比较两个包含相同值但大小写不同的字符串。
// Creating 2 string variables and initializing with values let str1: string = "TUTORIALSPOINT"; let str2: string = "tutorialspoint"; // Comparing the strings. let val1: boolean = str1.toLowerCase() === str2.toLowerCase(); let val2: boolean = str1.toUpperCase() === str2.toUpperCase(); // Show the comparison results 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代码:
// Creating 2 string variables and initializing with values var str1 = "TUTORIALSPOINT"; var str2 = "tutorialspoint"; // Comparing the strings. var val1 = str1.toLowerCase() === str2.toLowerCase(); var val2 = str1.toUpperCase() === str2.toUpperCase(); // Show the comparison results console.log("After converting both strings into lowercase, comparison result is : " + val1); console.log("After converting both strings into uppercase, comparison result is : " + val2);
以上代码将产生以下输出:
输出
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!"; // Comparing the strings. let val1: boolean = str1 == str2; console.log(val1);
编译后,它将生成以下JavaScript代码:
var str1 = "Hello"; var str2 = "World!"; // Comparing the strings. var val1 = str1 == str2; console.log(val1);
以上代码将产生以下输出:
输出
false
在本教程中,用户学习了如何比较字符串。与JavaScript不同,严格和松散相等运算符对字符串比较的作用相同,因为我们在TypeScript中定义了变量的数据类型,它不允许我们比较不同数据类型的变量。