# The Equality and Inequality Operators

We use the
*equality* operator (==)
to test whether two expressions have the same value. The equality
test takes the general form:

==`operand1`

`operand2`

where * operand1* and

*may be any valid expression. The equality operator can compare operands of any type. When*

`operand2`

*and*

`operand1`

*are equal, the expression returns the Boolean value*

`operand2`

`true`

; when they differ, it
returns the Boolean value `false`

. For example:var x = 2; x == 1 // false x == 2 // true

### Tip

The equality operator is created using two equal signs in a row
(`==`

). It determines whether two expressions are
equal and should not be confused with the assignment operator (=)
which is used to assign a variable a new value.

Consider this example:

if (x = 5) { trace ("x is equal to 5") }

The preceding example does *not* check whether
`x`

equals 5. Instead, it *sets*
`x`

equal to 5. The proper expression is as follows:

// Use == instead of = if (x == 5) { trace ("x is equal to 5") }

## Primitive Datatype Equality

For the primitive datatypes, the result of most equality tests is fairly intuitive. Table 5.2 lists the rules that govern equality for each primitive datatype.

Table 5-2. Equality of Primitive Datatypes

Type |
Terms of Equality (both operands must be of given type) |
---|---|

Number |
If , the result is
`operand2` `true` . If both operands are
`+Infinity` or both are
`-Infinity` , the result is `true` .
If both operands are either `-0` or
`+0` , the result is `true` . For all other combinations, including ... |

Get *ActionScript: The Definitive Guide* now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.