Flash Lite 2.x and 3.0 ActionScript Language Reference

Boolean function

Boolean(expression:Object) : Boolean

Converts the parameter expression to a Boolean value and returns a value as described in the following list:

  • If expression is a Boolean value, the return value is expression.
  • If expression is a number, the return value is true if the number is not zero; otherwise the return value is false.

If expression is a string, the return value is as follows:

  • In files published for Flash Player 6 or earlier, the string is first converted to a number; the value is true if the number is not zero, false otherwise.
  • In files published for Flash Player 7 or later, the result is true if the string has a length greater than zero; the value is false for an empty string.

If expression is a string, the result is true if the string has a length greater than zero; the value is false for an empty string.

  • If expression is undefined or NaN (not a number), the return value is false.
  • If expression is a movie clip or an object, the return value is true.

NOTE

 

Unlike the Boolean class constructor, the Boolean() function does not use the keyword new . Moreover, the Boolean class constructor initializes a Boolean object to false if no parameter is specified, while the Boolean() function returns undefined if no parameter is specified.

Parameters

expression:Object - An expression to convert to a Boolean value.

Returns

Boolean - A Boolean value.

Example

trace(Boolean(-1)); // output: true
trace(Boolean(0)); // output: false
trace(Boolean(1)); // output: true


trace(Boolean(true)); // output: true
trace(Boolean(false)); // output: false


trace(Boolean("true")); // output: true
trace(Boolean("false")); // output: true

trace(Boolean("Craiggers")); // output: true
trace(Boolean("")); // output: false

If files are published for Flash Player 6 and earlier, the results differ for three of the preceding examples:

trace(Boolean("true")); // output: false
trace(Boolean("false")); // output: false
trace(Boolean("Craiggers")); // output: false

This example shows a significant difference between use of the Boolean() function and the Boolean class. The Boolean() function creates a Boolean value, and the Boolean class creates a Boolean object. Boolean values are compared by value, and Boolean objects are compared by reference.

// Variables representing Boolean values are compared by value
var a:Boolean = Boolean("a"); // a is true
var b:Boolean = Boolean(1); // b is true
trace(a==b); // true

// Variables representing Boolean objects are compared by reference
var a:Boolean = new Boolean("a"); // a is true
var b:Boolean = new Boolean(1); // b is true
trace(a == b); // false 

See also

Boolean