JavaScript 中“null”和“0”的关系是什么?


听起来很奇怪,因为在数学中,如果我们有两个数 a 和 b,如果 a 不小于 b,那么可能的情况是 a 大于或等于 b。

但是对于null和“0”,null既不大于“0”,也不等于“0”,但却大于或等于“0”。(null>=0)

在 JavaScript 中,“0” 等于 false,因为“0” 在进行相等性测试时是一种字符串类型,JavaScript 的自动类型转换机制会将其转换为数值“0”,而我们知道“0” 代表 false 值。Null − null是一个表示空值或未知值的特殊值。

例如,“let number = null” 这段代码表示 number 的值目前为空,以后可能会赋值。我们会遇到一些典型的情况。对于大于(>)、小于(<)和等于(=)运算符,我们会得到布尔值 false 作为输出。但是,当使用大于或等于(>=)运算符时,会得到布尔值 true 作为输出。

这里出现的问题是,一个值怎么会既不大于 0,也不等于 0,但却大于或等于 0 呢?

示例 1

在下面的示例中,我们检查条件 (null>0)、(null<0) 和 (null == 0),但在所有情况下值都为 false,因此输出为“这是一个典型关系”。

<!DOCTYPE html>
<html>
<body>
   <script>
      if (null > 0) {
         document.write("null is greater than 0");
      } else if (null < 0) {
         document.write("null is less than 0");
      } else if (null == 0) {
         document.write("null is equal to 0");
      } else {
         document.write("It is a typical relationship");
      }
   </script>
</body>
</html>

示例 2

在下面的示例中,我们检查条件 if (null>=0) 是否为真。

<!DOCTYPE html>
<html>
<body>
   <script>
      if (null >= 0) {
         document.write("null is greater than 0");
      } else {
         document.write("It is a relationship");
      }
   </script>
</body>
</html>

示例 3

在下面的示例中,我们检查条件 if (null<=0) 是否为真。

<!DOCTYPE html>
<html>
<body>
   <script>
      if (null <= 0) {
         document.write("null is less than 0");
      } else {
         document.write("It is a relationship");
      }
   </script>
</body>
</html>

示例 4

下面的示例演示了 JavaScript 中 null 和 0 之间的关系。在本例中,我们将使用 typeof() 方法来检查这两个变量的类型。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Relation between null and zero(0)</title>
   <div id="var1"></div>
   <div id="var2"></div>
</head>
<body>
   <script>
      let var1 = 0;
      let var2 = null;
      document.getElementById("var1").innerHTML =
      "Type of 1st variable zero(0) is : " + typeof var1;
      document.getElementById("var2").innerHTML =
      "Type of 2nd variable (null) is : " + typeof var2;
   </script>
</body>
</html>

更新于:2022年12月6日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.