# 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 `operand2` may be any valid expression. The equality operator can compare operands of any type. When `operand1` and `operand2` are equal, the expression returns the Boolean value `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 `operand1` is the same number as `operand2`, the result is `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.