判斷是否為布林值的方法

WBOY
發布: 2023-08-31 10:25:12
原創
1011 人瀏覽過

判斷是否為布林值的方法

Boolean() 建構子可用於建立布林物件以及布林原始值,表示truefalse 值。

#在下面的程式碼中,我詳細介紹了 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() 建構函式將一個參數轉換為布林值(即 truefalse)。任何非0、-0、nullfalseNaNundefined 或空字串("") 的有效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()

非原始 False 布林物件轉換為 True

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 關鍵字,傳回的值將是原始值而不是布爾對象。


某些事情是假的,其他一切都是真的

已經提到過,但值得再次提及,因為它與轉換有關:如果值為0、-0、nullfalseNaNundefined,或空字串( ""),就是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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板