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>
廣告