Types of Values

The data we use in ActionScript programming comes in a variety of types. So far we’ve seen numbers and text, but other types include Booleans, arrays, functions, and objects. Before we cover each datatype in detail, let’s examine some datatype issues that specifically relate to variable usage.

Automatic Typing

Any ActionScript variable can contain any type of data, which may seem unremarkable, but the ability to store any kind of data in any variable is actually a bit unusual. Languages like C++ and Java use typed variables; each variable can accept only one type of data, which must be specified when the variable is declared. ActionScript variables are automatically typed—when we assign data to a variable, the interpreter sets the variable’s datatype for us.

Not only can ActionScript variables contain any datatype, they can also dynamically change datatypes. If we assign a variable a new value that has a different type than the variable’s previous value, the variable is automatically retyped. So the following code is legal in ActionScript:

x = 1;                   // x is a number
x = "Michael";           // x is now a string
x = [4, 6, "hello"];     // x is now an array
x = 2;                   // x is a number again

In languages like C++ or Java that do not support automatic retyping, data of the wrong type would be converted to the variable’s existing datatype (or would cause an error if conversion could not be performed). Automatic and dynamic typing have some important ramifications that we’ll consider in the ...

Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.