Section 3.3. Boolean Values


3.3. Boolean Values

The number and string datatypes have a large or infinite number of possible values. The boolean datatype, on the other hand, has only two. These two values are represented by the literals TRue and false. A value of type boolean represents a truth value; it says whether something is true or not.

Boolean values are generally the result of comparisons you make in your JavaScript programs. For example:

 a == 4 

This code tests to see whether the value of the variable a is equal to the number 4. If it is, the result of this comparison is the boolean value true. If a is not equal to 4, the result of the comparison is false.

Boolean values are typically used in JavaScript control structures. For example, the if/else statement in JavaScript performs one action if a boolean value is TRue and another action if the value is false. You usually combine a comparison that creates a boolean value directly with a statement that uses it. The result looks like this:

 if (a == 4)   b = b + 1; else   a = a + 1; 

This code checks whether a equals 4. If so, it adds 1 to b; otherwise, it adds 1 to a.

Instead of thinking of the two possible boolean values as TRue and false, it is sometimes convenient to think of them as on (TRue) and off (false), or yes (TRue) and no (false).

3.3.1. Boolean Type Conversions

Boolean values are easily convertible to and from other types and are often automatically converted.[*] If a boolean value is used in a numeric context, true converts to the number 1 and false converts to the number 0. If a boolean value is used in a string context, true converts to the string "true" and false converts to the string "false".

[*] C programmers should note that JavaScript has a distinct boolean datatype, unlike C, which simply uses integer values to simulate Boolean values. Java programmers should note that although JavaScript has a boolean type, it is not nearly as pure as the Java boolean datatype; JavaScript boolean values are easily converted to and from other datatypes, and so in practice, the use of boolean values in JavaScript is much more like their use in C than in Java.

If a number is used where a boolean value is expected, the number is converted to TRue unless the number is 0 or NaN, which are converted to false. If a string is used where a boolean value is expected, it is converted to true except for the empty string, which is converted to false. null and the undefined value convert to false, and any non-null object, array, or function converts to true.

If you prefer to make your type conversions explicit, you can use the Boolean( ) function:

 var x_as_boolean = Boolean(x); 

Another technique is to use the Boolean NOT operator twice:

 var x_as_boolean = !!x; 




JavaScript. The Definitive Guide
JavaScript: The Definitive Guide
ISBN: 0596101996
EAN: 2147483647
Year: 2004
Pages: 767

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net