在 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 中大寫字串首字母