如何在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

在下面的示例中,我们比较两个字符串 - string1string2。我们取这两个字符串都相同,所以我们期望输出为'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

在下面的示例中,我们比较两个字符串 - string1string2。我们取这两个字符串不同,所以我们期望输出为'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中定义了变量的数据类型,它不允许我们比较不同数据类型的变量。

更新于:2023年9月10日

42000+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告