Home >CMS Tutorial >WordPress >How to determine whether it is a Boolean value

How to determine whether it is a Boolean value

WBOY
WBOYOriginal
2023-08-31 10:25:121046browse

How to determine whether it is a Boolean value

Boolean() The constructor can be used to create Boolean objects as well as Boolean primitives, representing true or false values .

In the code below, I detail the creation of Boolean values ​​in JavaScript.

Example: 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() Parameters

Boolean() The constructor converts an argument to a Boolean value (i.e. true or false). Any valid JavaScript value that is not 0, -0, null, false, NaN, undefined, or the empty string ("") will be converted to true. In the following example, we create two Boolean object values: a true and a false.

Example: 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>

When used with the new keyword, an instance from the Boolean() constructor produces an actual complex object. You should avoid using the Boolean() constructor to create boolean values ​​(instead use literals/raw numbers) because of potential issues related to the typeof operator. The typeof operator reports Boolean objects as "object" instead of the original label ("boolean") as you might expect. Additionally, literal/raw values ​​are written faster.


Boolean() Properties and methods

Boolean() The object has the following properties:

Properties (for example, Boolean.prototype;):

  • prototype

Boolean object instance properties and methods

Boolean object instances have the following properties and methods (excluding inherited properties and methods):

Instance properties (e.g., var myBoolean = false; myBoolean.constructor;):

  • Constructor

Instance methods (e.g., var myNumber = false; myBoolean.toString();):

  • toSource()
  • toString()
  • valueOf()

Non-original False Boolean objects are converted to True

A false Boolean object created from the Boolean() constructor (rather than a primitive value) is an object, and the object is converted to true. Therefore, when a false Boolean object is created via the Boolean() constructor, the value itself is converted to true. In the example below, I demonstrate how a false Boolean object is always "true".

Example: 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>

If you need to convert a non-Boolean value to a Boolean value, just use the Boolean() constructor without the new keyword, and the returned value will be the original value instead Not a Boolean object. p>


Some things are false, everything else is true

Already mentioned, but worth mentioning again as it relates to conversions: if value is 0, -0, null, false, NaN, undefined, or an empty string ("") is false. If used in a Boolean context, any value in JavaScript other than the above will be converted to true (i.e. if (true) {};).

Example: 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>

in conclusion

It's critical to know which JavaScript values ​​are simplified to false so that you know that all other values ​​are treated as true.

The above is the detailed content of How to determine whether it is a Boolean value. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn