1. 程式人生 > >true和false

true和false

下面這些值在JavaScript中都是falsy

  • false

  • 0 (數字零)

  • "" (空字串)

  • null

  • undefined

  • NaN (一個特殊的Number值,意為Not-a-Number!)

除上面幾個值以外,其他所有值都是truthy,包括字串"0", "false", 空函式,空陣列,空物件。

 

假值的比較


Falsy values遵循一些看起來怪怪的比較規則,這些規則可能會導致程式出現一些邏輯錯誤。

假值false0""三者是相等的,並且它們之間可以相互比較。

var c = (false == 0); // true
var d = (false == ""); // true var e = (0 == ""); // true

假值nullundefined,除了它們自身之外和任何值都不相等。

var f = (null == false); // false var g = (null == null); // true var h = (undefined == undefined); // true var i = (undefined == null); // true

最後,假值 NaN 和任何值都不相等,包括 NaN 本身!

var j = (NaN == null); // false
var k = (NaN == NaN); // false

你應該知道typeof(NaN)返回"Number"。幸運的是,JavaScript有一個核心函式isNaN()

來判斷一個值是否是NaN。