- 文法:new Boolean([value])
- 如果第一個參數不是布爾值,則會将其轉換為布爾值。
- 如果省略該參數,或者其值為 0、-0、null、false、NaN、undefined、或者空字元串(""),則生成的 Boolean 對象的值為 false。
- 任何其他的值,包括值為
的字元串和任何對象,都會建立一個值為"false"
的true
對象。Boolean
- 注意不要将基本類型中的布爾值
和true
與值為false
和true
的false
對象弄混了。Boolean
任何不是 undefined 和 null 的對象,包括值為 false 的 Boolean 對象,直接用于條件語句時都會被當做 true 來對待。例如,下面 if 語句中的條件為真:
var x = new Boolean(null)
if (x) {
// 這裡的代碼會被執行
console.log('可以執行')
}
===
var x = null
if (x) {
// 這裡的代碼不會被執行
console.log('可以執行') // 不會輸出
}
===
var x = false;
if (x) {
// 這裡的代碼不會執行
}
對于任何對象,即使是值為
false
的
Boolean
對象,當将其傳給
Boolean
函數時,生成的
Boolean
對象的值都是
true
。
var myFalse = new Boolean(false); // false
var g = new Boolean(myFalse); // true
var myString = new String("Hello");
var s = new Boolean(myString); // true
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});