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