如何在JavaScript中檢查空值?


在這篇文章中,我們將學習如何在JavaScript中檢查空值。**空值**表示故意缺少任何物件值。它是JavaScript中的一個原始值,在布林運算中為假。這將**null**與相關的原始值undefined區分開來,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()**函式比較兩個值以檢視它們是否相同。布林值指示函式中的兩個引數的值是否相同。如果兩個值都為空,則這兩個值可能相同。

語法

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

Object.is( q, null );

引數

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

  • **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運算子與空運算子一起使用。(!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.