Boolean()
建構子可用於建立布林物件以及布林原始值,表示true
或false
值。
#在下面的程式碼中,我詳細介紹了 JavaScript 中布林值的建立。
範例:sample52.html
<!DOCTYPE html><html lang="en"><body><script> // Create a Boolean object using the new keyword and the Boolean() constructor. var myBoolean1 = new Boolean(false); // Using new keyword. console.log(typeof myBoolean1); // Logs 'object'. // Create a Boolean literal/primitive by directly using the number constructor without new. var myBoolean2 = Boolean(0); // Without new keyword. console.log(typeof myBoolean2); // Logs 'boolean'. // Create Boolean literal/primitive (constructor leveraged behind the scenes). var myBoolean3 = false; console.log(typeof myBoolean3); // Logs 'boolean'. console.log(myBoolean1, myBoolean2, myBoolean3); // Logs false false false. </script></body></html>
Boolean()
參數Boolean()
建構函式將一個參數轉換為布林值(即 true
或 false
)。任何非0、-0、null
、false
、NaN
、undefined
或空字串("") 的有效JavaScript 值都將轉換為true
。在以下範例中,我們建立兩個布林物件值:一個 true
和一個 false
。
範例:sample53.html
<!DOCTYPE html><html lang="en"><body><script> // Parameter passed to Boolean() = 0 = false, thus foo = false var foo = new Boolean(0) console.log(foo); // Parameter passed to Boolean() = Math = true, thus bar = true var bar = new Boolean(Math) console.log(bar); </script></body></html>
當與 new
關鍵字一起使用時,來自 Boolean()
建構函數的實例會產生一個實際的複雜物件。您應該避免使用 Boolean() 建構函式建立布林值(而是使用文字/原始數字),因為存在與 typeof
運算子相關的潛在問題。 typeof
運算子將布林物件報告為“object”,而不是您可能期望的原始標籤(“boolean”)。此外,文字/原始值的寫入速度更快。
Boolean()
屬性與方法Boolean()
物件具有以下屬性:
屬性(例如,Boolean.prototype;
):
原型
布林物件實例具有以下屬性和方法(不包括繼承的屬性和方法):
實例屬性(例如,var myBoolean = false;
myBoolean.constructor;
):
建構子
實例方法(例如,var myNumber = false;
myBoolean.toString();
):
toSource()
#toString()
#valueOf()
從 Boolean()
建構函數建立的 false
布林物件(而不是原始值)是一個對象,並且物件會轉換為 true
。因此,當透過 Boolean()
建構函式建立 false
布林物件時,該值本身會轉換為 true
。在下面的範例中,我示範了 false
布林物件如何始終是「true」。
範例:sample54.html
<!DOCTYPE html><html lang="en"><body><script> var falseValue = new Boolean(false); console.log(falseValue); // We have a false Boolean object, but objects are truthy. if (falseValue) { // Boolean objects, even false Boolean objects, are truthy. console.log('falseValue is truthy'); } </script></body></html>
如果需要將非布林值轉換為布林值,只需使用Boolean()
建構函數,而不使用new
關鍵字,傳回的值將是原始值而不是布爾對象。 p>
已經提到過,但值得再次提及,因為它與轉換有關:如果值為0、-0、null
、false
、NaN
、undefined
,或空字串( ""),就是false
。如果在布林上下文中使用,除上述值之外的 JavaScript 中的任何值都會轉換為 true
(即 if (true) {};
)。
範例:sample55.html
<!DOCTYPE html><html lang="en"><body><script> // All of these return a false Boolean value. console.log(Boolean(0)); console.log(Boolean(-0)); console.log(Boolean(null)); console.log(Boolean(false)); console.log(Boolean('')); console.log(Boolean(undefined)); console.log(Boolean(null)); // All of these return a true Boolean value. console.log(Boolean(1789)); console.log(Boolean('false')); // 'false' as a string is not false the Boolean value. console.log(Boolean(Math)); console.log(Boolean(Array())); </script></body></html>
了解哪些 JavaScript 值被簡化為 false
至關重要,這樣您就知道所有其他值都被視為 true
。
以上是判斷是否為布林值的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!