在TypeScript中如何进行字符串比较
在这个 TypeScript教程 中,用户将学习如何进行字符串比较。字符串比较是在任何编程语言中工作时所需的基本操作。
假设我们正在开发一个Web或 Android 应用程序,并且需要比较字符串数据,如用户ID、用户名、密码等。在这种情况下,字符串比较非常有用。
使用严格相等 (=) 运算符
在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 中,严格和松散比较运算符对字符串比较的工作方式与我们在 TypeScript 中定义变量的数据类型相同,不允许我们比较不同数据类型的变量。