User Guide
84 Chapter 2: ActionScript Language Reference
// Automatic data typing in this example converts false to “0”
var string1:String = "0";
var bool2:Boolean = false;
trace(string1 == bool2); // true
trace(string1 === bool2); // false
The following examples show how strict equality treats variables that are references differently
than it treats variables that contain literal values. This is one reason to consistently use String
literals and to avoid the use of the
new operator with the String class.
// Create a string variable using a literal value
var str:String = "asdf”;
// Create a variable that is a reference
var stringRef:String = new String("asdf");
// The equality operator does not distinguish among literals, variables,
// and references
trace(stringRef == "asdf"); // true
trace(stringRef == str); // true
trace("asdf" == str); // true
// The strict equality operator considers variables that are references
// distinct from literals and variables
trace(stringRef === "asdf"); // false
trace(stringRef === str); // false
See also
! (logical NOT), != (inequality), !== (strict inequality), && (logical AND), || (logical OR), ==
(equality), === (strict equality)