在 JavaScript 中检查字符串是否相等

  1. 何时在 JavaScript 中使用运算符进行字符串相等
  2. 通过示例了解 JavaScript 中的字符串相等性

在 JavaScript 中,有四种运算符可用于检查字符串是否相等。这些运算符称为比较运算符

  1. 严格相等(===):严格相等(也称为三重相等运算符)检查变量的值及其数据类型。如果这两个东西相等,那么它只返回 true,否则返回 false
  2. 严格不等于 (!==):这与严格等于相反。如果值或数据类型不匹配,则返回 true;否则,false
  3. 等号(==):双等号只检查变量的值。如果值匹配,则返回 true,否则返回 false。它不关心变量类型。
  4. 不相等(!=):这与相等(==)相反。仅当变量内的值不匹配时才返回 true,而不管它们的数据类型如何。如果值彼此匹配,则返回 false

这些运算符不仅用于检查字符串的相等性,还用于检查其他数据类型的相等性。在这四个运算符中,让我们根据用例找出检查字符串相等性的最佳运算符。

你可能已经看过第三个和第四个运算符,即 ==!=,它们在其他编程语言中也很常见。但是它在 JavaScript 中的工作方式与其他语言略有不同。

何时在 JavaScript 中使用运算符进行字符串相等

与 JavaScript 相关,以下是一些用例,你可以在其中使用 ===== 运算符。

  • 如果比较值可能是 truefalse 值,请使用 === 而不是 ==
  • 如果比较值可能是这些特定值中的任何一个(0""[] – 空数组),请使用 === 而不是 ==
  • 在任何其他情况下,你都可以安全地使用 ==。它不仅安全,而且还简化了代码并提高了可读性。

使用严格不等于 (!==) 和不等于 (!=) 运算符时,上述规则同样适用。要了解有关具体规则的更多信息,你可以阅读 ES5 规范的 11.9.3 部分。

通过示例了解 JavaScript 中的字符串相等性

让我们举一些例子,详细了解这些东西。

在这个例子中,我们采用了两个变量,name_1name_2。它们都以 "adam" 作为字符串值。现在让我们应用上述每个运算符并查看我们得到的输出。

在这里,我们使用了四个 ifelse 语句,每个语句代表不同的比较运算符。由于 name_1name_2 变量的值和数据类型相同,三重等于或严格等于运算符 (===) 将打印 True 作为输出。双等号 == 也将打印 True,因为两个变量具有相同的值。

let name_1 = "adam";
let name_2 = "adam";

// Strict Equal
if(name_1 === name_2) console.log("True");
else console.log("False");

// Equal
if(name_1 == name_2) console.log("True");
else console.log("False");

// Strict not equal
if(name_1 !== name_2) console.log("True");
else console.log("False");

// Not equal
if(name_1 != name_2) console.log("True");
else console.log("False");

输出:

True
True
False
False

当使用 Strict 不等于 (!==) 运算符和不等于 (!=) 运算符时,它们都会打印 False 作为输出,因为两个变量中的值本身是相同的。

下面是另一个示例,我们将字符串与整数进行比较。在这里,我们有一个变量 str,其值为 "80",一个字符串值。我们还有另一个变量 num,它包含一个整数值 80。由于这两个变量具有不同数据类型的相同值,让我们看看对它们使用各种比较运算符时会发生什么。

let str = "80";
let num = 80;

// Strict Equal
if(str === num) console.log("True");
else console.log("False")

// Equal
if(str == num) console.log("True");
else console.log("False")

// Strict not equal
if(str !== num) console.log("True");
else console.log("False")

// Not equal
if(str != num) console.log("True");
else console.log("False")

输出:

False
True
True
False

和第一个例子一样,我们也有四个 ifelse 语句,每个语句代表不同的比较运算符。

当我们使用严格等于或三重等于 (===) 时,我们将得到 False 作为输出。原因是即使值相同,数据类型也不同。但是当我们使用双等号 (==) 时,我们得到 True 作为输出,因为双等号只检查值而不是类型。

当我们使用 Strict not equal (!==) 时,我们得到 True 作为输出,因为字符串值 "80" 不等于整数值 80;因此,它返回 True

最后,不等于 (!=) 运算符仅比较两个变量的值。这些值需要不同才能打印 True。由于在这种情况下值相同,因此返回 False

相关文章 - JavaScript String

  • 如何在 JavaScript 中大写字符串首字母
  • 如何在 JavaScript 中进行字符串插值