如何在 JavaScript 中檢查空值?


在本文中,我們將學習如何在 JavaScript 中檢查空值。**空值**表示故意省略任何物件值。它是 JavaScript 的一個原始值,在布林運算中為假。這將**null**與相關的原始值`undefined`區分開來,後者表示意外省略任何物件值。這是因為已宣告但未賦值的變數是`undefined`而不是`null`。

您可以使用現實世界的類比將變數視覺化為一個盒子。盒子可以容納諸如茶壺之類的東西,就像變數一樣。但是,當您開啟一個盒子卻發現裡面什麼也沒有!您收到一個空包裹,因為有人犯了錯誤。盒子具有空值,這也就是表示它不包含任何內容的另一種說法。

有多種方法可以檢查 JavaScript 中的值是否為空。

  • 使用嚴格相等運算子 (===)
  • 使用`Object.is()` 函式
  • 使用`typeof` 運算子

使用嚴格相等運算子 (===)

在這種方法中,我們將學習如何使用 (===) 運算子來檢查空值。此測試僅適用於**null**,而不適用於 ""、**undefined**、**false**、**0** 或**NaN**。

語法

以下是使用嚴格相等運算子的語法:

let result = ( v === null );

返回值

  • **v === null** - 此引數檢查變數“v”中儲存的值是否等於 null。相應地,它返回 true 或 false。

演算法

  • **步驟 1** - 我們看到聲明瞭一個變數 **v** 並將其初始化為空值。

  • **步驟 2** - 然後我們使用 if 語句檢查變數是否為空,如果為真,則在使用者的螢幕上顯示相應的訊息。

示例

下面的示例演示瞭如何使用嚴格相等運算子 (===) 來檢查 JavaScript 中的空值。

<!DOCTYPE html>
<html>
<head>
   <title> Check for null values in JavaScript </title>
</head>
<body>
   <h2>Check for null values using the strict equality operator.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var v = null;
      if (v === null) {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的輸出中,正在檢查變數是否為空,並且該值正在 if 塊中執行,該變數包含空值。

使用 Object.is() 函式

JavaScript 中的**Object.is()**函式比較兩個值以檢視它們是否相同。布林值指示函式中的兩個引數的值是否相同。如果兩個值都為 null,則這兩個值可能相同。

語法

以下是 Object.is() 函式的語法:

Object.is( q, null );

引數

  • **q** - 要傳遞到函式中的變數,其初始化值為 null。

  • **null** - 此引數為空值。

演算法

  • **步驟 1** - 我們宣告一個名為 q 的變數並將其設定為**null**。

  • **步驟 2** - 然後,給定輸入 q 和空值,我們使用 if 語句檢查`Object.is()`方法以確定兩者是否相同。

  • **步驟 3** - 如果它們的值相同,則在使用者的螢幕上顯示相應的訊息。

示例

在下面的程式中,我們使用**Object.is()**函式來檢查空值。

<!DOCTYPE html>
<html>
<head>
   <title>Check for null values in JavaScript</title>
</head>
<body>
   <h2>Check for null values using the JavaScript Object.is() method.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var q = null;
      if (Object.is(q, null)) {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的輸出中,正在檢查變數是否為空,並且該值用 true 語句打印出來,該變數包含空值。

使用 typeof 運算子

可以使用**typeof**運算子來確定 JavaScript 變數的資料型別。在這裡,我們將`typeof`運算子與 null 運算子一起使用。(!variable) 表示該值不為空,如果使用`typeof`運算子檢查具有物件資料型別的變數,則該值為 null。

語法

以下是`typeof`運算子的語法:

typeof var;

這裡**var**是要檢查其資料型別的變數,並用作引數。

演算法

  • **步驟 1** - 我們宣告一個名為 a 的變數並將其設定為 null。

  • **步驟 2** - 然後我們檢查變數的補碼和變數的資料型別是否為物件。

  • **步驟 3** - 如果兩個條件都匹配,則該值被認為等於 null。

  • **步驟 4** - 在使用者的螢幕上顯示相應的訊息。

示例

在這個例子中,我們使用 JavaScript 的 typeof 運算子來檢查給定變數的值是否等於 null。

<!DOCTYPE html>
<html>
<head>
   <title>Check for null values in JavaScript </title>
</head>
<body>
   <h2>Check for null values using the JavaScript typeOf operator.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var a = null;
      if (!a && typeof a === "object") {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的輸出中,正在檢查變數是否為空,並且該值正在 if 塊中執行,該變數具有空值。

結論

在本教程中,我們使用了三種方法來檢查 JavaScript 中的空值。

在第一種方法中,我們使用了嚴格的`相等運算子`並展示了可以比較兩個空值。

第二種方法很有用,因為它使用`Object.is()`函式來檢查和比較兩個空值。

第三種方法是使用 typeof 運算子,它檢查變數的值及其資料型別以返回它是否為空值。

本文中的所有這些方法總結了如何在 JavaScript 中檢查空值。

更新於:2022年7月22日

19K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.