How do we store information as raw data without losing meaning? By categorizing our data and defining its datatype, we give it context that defines its meaning.
For example, suppose we have three numbers: 5155534, 5159592, and 4593030. By categorizing our data—as, say, a phone number, fax number, and parcel tracking number—the context (and, hence, the meaning) of our data is preserved. When categorized, each of the otherwise-nondescript seven-digit numbers becomes meaningful.
Programming languages use datatypes to provide rudimentary categories for data. For example, nearly all programming languages define datatypes to store and manipulate text (a.k.a. strings) and numbers. To distinguish between multiple numbers, we can use well-conceived variable names, such as phoneNumber and faxNumber. In more complex situations, we can create our own custom data categories with objects and object classes, as covered in Chapter 12. Before we think about making our own data categories, let's see which categories come built into ActionScript.
When programming, we may want to store a product name, a background color, or the number of stars to be placed in a night sky. We use the following ActionScript datatypes to store our data:
For text sequences such as "hi there". A string is a series of characters (alphanumerics and punctuation).
For numbers, such as 351 and 7.5. Numbers are used for counting and for mathematical equations.
For logical decisions. With Boolean data, we can represent or record the status of some condition or the result of some comparison. Boolean data has only two legal values: true and false.
For representing an absence of data, ActionScript provides two special data values: null and undefined. You can think of them as the only permissible values of the null and undefined datatypes.
For lists of one or more pieces of data.
For manipulating movie clip instances.
For arbitrary built-in or user-defined classes of data.
Every piece of data we store in ActionScript will fall into one of these categories. Before studying each datatype in Chapter 4, we'll consider the general issues that affect our use of all data.