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>
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP