你不知道的 JavaScript 系列中( 25 ) - toBoolean

假值

以下是假值:
Boolean(undefined); // false
Boolean(null); // false
Boolean(0); // false
Boolean(NaN); // false
Boolean(""); // false
假值的布爾強制類型轉換結果爲 false。
從邏輯上說,假值列表以外的都應該是真值。但 JavaScript 規範對此並沒有明確定義,只是給出了一些示例,例如規定所有的對象都是真值,我們可以理解爲假值列表以外的值都是真值


假值對象
var a = new Boolean(false);
var b = new Number(0);
var c = new String("");
var d = Boolean(a && b && c);
console.log(d); // true
d 爲 true,說明 a、b、c 都爲 true。 a,b,c都是假值對象
假值對象看起來和普通對象並無二致(都有屬性,等等),但將它們強制類型轉換爲布爾 值時結果爲 false
a == false; // true
b == false; // true
c == false; // true

真值
var a = [];
var b = {};
var c = function(){};
var d = Boolean(a && b && c);
console.log(d) // true
d 依然是 true。還是同樣的道理,[]、{} 和 function(){} 都不在假值列表中,因此它們都 是真值

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章